1樓:碧落風葉
逗號表示式取右邊的結果,題目中計算是這麼取順序的:
a=5,b=10; //且整個右式的左半為10,即i=10+?
i+=b; //i=13
b+=a; //b=15,且整個右式的右半為15,即i=10+15最後計算整個表示式的值i=25,a=5,b=15。
下面那道類似,切記逗號表示式優先順序最低,且取最右邊的值,自己算吧。
2樓:創作者
把式子拆開
初值i=3;a=5;b=10
b+=a即b=b+a=10+5=15
i+=b即i=b+b=10+15=25,注意兩個b的不同
3樓:原始森琳
a=5,b=10是賦值,(a=5,b=10)是逗號表示式其值為最後乙個式子的值,後乙個括號同樣是都好表示式,i=i+b,b=b+a;最後是i=10+15;
i=36,表示式值為0
4樓:匿名使用者
i=(a=5,b=10)+(i+=b,b+=a)=10+(10+5)=25
a=5b=b+a=10+5=15
5樓:尚弋空
各位,回答問題前你們編譯執行過沒有,好像結果是i=30,a=5,b=15喲
6樓:匿名使用者
i=3,a=5,b=10;
i+=b; //i=13
b+=a; //b=15,且整個右式的右半為15,即i=10+15最後計算整個表示式的值i=25,a=5,b=15。
7樓:匿名使用者
(a=5,b=10)這乙個表示式的值為10,即括號中最後乙個表示式的值。所以i的值為25,a是5,b是15.
8樓:山山水水
編個程實驗一下就知道
i為int型變數,且初值為3,有表示式i=i+=i*5,則該表示式的值是?變數i的值是?
9樓:匿名使用者
i=i+=i*5
=>i=(i=i+(i=i*5))
=>i=(i=i+i(i=15))
=>i=30
即原式=30,i=30
10樓:匿名使用者
表示式和變數i都為30
設int a=5,b=6,表示式(++a==b--)?++a:--b的值是
11樓:匿名使用者
結果為bai7。
條件表示式
du為:表
zhi達式1?表示式2:表示式3。先求解dao表示式內1,若其值為真(非容0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
先判斷++a==b--是否為真,++a表達的值為6,b--表達的值為6,兩者相等,為真。則將表示式++a的值作為整個表示式的取值,因為在此之前a的值已經自增變成6,再進行++a表示式的值為7。
12樓:匿名使用者
最後值為7,這是乙個if語句,就是
int a=5,b=6;
if(++a==b--) ++a;
else --b;
++ar的規則
是先運算,所以括號中左值++a=6,a=6;
==的優先順序低版過--,所以先計算權b--b--的規則是先賦值,所以括號中右值b--=6,b=5;
左值6==右值6,即條件為真,執行++a,因為a值已是6, 所以加1操作後,
結果為 7
13樓:烏石
7,條件表示式條件為真,取值為++a;原來為6,執行++a後為7
x和n均為int型變數,且x和n的初值均為5,則計算表示式x+=n++後,x的值為?n的值為?
14樓:pinkie呀
1.這個表示式等價於x=x+n++。
2.因為他們初始值x=5,n=5;n++是先使用後增加,就是先用n=5和x相加。並且++運算子的優先順序大於=運算子。
3.所以現在是x=10了,n自增1變為6了。
1.整型變數是一種計算機語言。在c語言中,整型變數的值可以是十進位制,八進位制,十六進位制,但在記憶體中儲存著是二進位製數。變數顧名思義是數值可以變的量,整型變數表示的是整數型別的資料。
2.型別說明符為int,在記憶體中佔4個位元組(不同系統可能有差異,此處原為2,經查證windows系統下為4,vax系統也如此) ,其取值為基本整常數。
3.型別說明符為short int或short'c110f1。所佔位元組和取值範圍會因不同的編譯系統而有差異。
對於16字機,short int 佔2個位元組,在大多數的32位機中,short int 佔4個位元組。但總的來說,short int 至少16位,也就是2個位元組。
i為整型變數,且初值是3,有表示式i++-3,則該表示式值是__變數i的值是__
15樓:百花神の團
可以這樣思考,應為運算子優先順序的原因,i++的優先順序最高,相當於(i++)-3,然後就很明白了,這是乙個表示式,那麼i先參與運算後自增,相當於 x=i-3; i=i+1; 所以答案就是 x=0,i=4
[c語言]i為int型變數,且初值是2,有表示式i++-3;,則該表示式的值是?i的值是?說明理由。
16樓:
表示式的值是-1;而i的值是3;
i++的意思是說先用2來參加運算,運算完後再+1!
如果是++i(先加1在運算)的話那麼表示式的值就是0;i的值也是3;
若a是int型變數,且a的初值為5,則計算a+=a-=a*a,表示式後a的值為:
17樓:匿名使用者
a=-40
因為+=和-=優先順序一樣,結合方向為右到左,所以a+=a-=a*a等價於a+=(a-=(a*a))即a=a-a*a=5-5*5=-20
a=a+a=-20-20=-40
18樓:匿名使用者
感覺是-40吧,先運算a*a=25(注意:此時a的值並未變化),第二步算a-=25,即a=a-25,a=-20,再運算a+=a(此時a=-20),所以結果是-40。
19樓:匿名使用者
-40原來字數少回答不了。。。
c語言一道題目,求解,若a是int型變數,且a的初值為6,則執行表示式a a a a後a的值為
從右往左依次計算 a a a得到a a a a 6 6 6 30a a得到a a a 60 所以最後a的值為 60 先a a。比如a等於1 若a是int型變數,且a的初值為6,則執行下面表示式後a的值為 a a a a 從右到左開始運算。首先a a a a a 36 a a a 就是 a 6 36 ...
在C語言中,設x,y,z,t均為int型變數,則執行以下語句
x y z 1 首先執行這一句 把1賦值給z,再把z的值給y,再把y的值給x x,y,z的值都等1 t x y z 在這一條語句中,賦值號 的運算級別最低,因此先算 x y z 先算 x後x 2 表達為 x y z y 後 y 2 表達為 x y z z 後 z 2 表達為 x y z 再運算y z...
若a是int型變數,則執行表示式a a a a後a的值為多少
過程如下 先a a a a a 之後 a a a a然後 a a 此時a a a a所以結果是2 a a a 你都沒有說a的初值呢?倒敘算。c語言一道題目,求解,若a是int型變數,且a的初值為6,則執行表示式a a a a後a的值為 從右往左依次計算 a a a得到a a a a 6 6 6 30...