1樓:匿名使用者
平行語句執行:從左到右;
賦值語句執行:從右到左。
所以:x=(i=4,j=16,k=32)
執行過程就是:i=4,j=16,k=32,x=k;
答案是:x=32
2樓:匿名使用者
x 值為32
其中 括號的優先順序高,先算括號裡的,裡面是逗號表示式,從左到右依次運算
i的值賦成4,j為16,k為32,逗號表示式的值為最後的一個表示式的值就為32
原式等同於
i=4;
j=16;
k=32;
x=32;
3樓:匿名使用者
首先,它是個賦值句x=的問題,i=4.j=16,k=32是逗號表示式,逗號表示式的值是由最後一個逗號表示式決定的,所以(i=4,j=16,k=32)的結果是k=32.
連起來就是x=k=32即k=32.
希望你理解了。再給你舉個例子:
就用上面的變數:x=(i=4,i+1,j=3)的結果就是x=3,無論前面有多少個逗號,它只取決於最後一個,但你也不能說不算前面的,執行這條命令後想當於給3個變數賦值了,i=4,中間只是個數,就是4+1但並沒有將4+1賦i.j=3.
如果是x=(i=4,i+1,i=8)那麼結果就是x=8.
4樓:匿名使用者
結果32
#include
void main()
5樓:匿名使用者
逗號表示式,再賦值。。
若int型變數x=11,則表示式(x++*1/3)的值是多少,為什麼?
6樓:匿名使用者
你說的是c語言吧:
因為x是int型別的,所以表示式最後的結果也是對(11*1/3=3.6666)進行強制型別轉為int
結果是3.
7樓:育知同創教育
等於3。因為先用x的值是11,除以3後得到3.
若x,i,j和k都是int型變數,則執行下面表示式x=(i=4,j=16,k=32)後,x的值為( ) a、4 b、16 c、32 d52
8樓:褒妍晨樂暢
x=32
不看裡面的賦值操作
就是x=(4,16,32)
4,16,32是一個逗號表示式,逗號表示式返回最後一個逗號後的值作為整個表示式的值,所以x=32
9樓:明日之客
選c,逗號運算子的結合順序是自左至右(如 a=3*5,a*4 結果是60),
x=(a=3,6*3)的結果是18。
10樓:帶淚的紫藤花
c逗號運算子的運算順序從左到右,結果取最右邊的值。。
11樓:星星知我新
c(i=4,j=16,k=32)是逗號運算子,結果是最右邊的值。
12樓:孟林
c,逗號運算子是自左到右結合的
13樓:微俊
32逗號表示式的值為最右邊
14樓:匿名使用者
c,是逗號運算子,書上給的答案是a嗎?
問C語言,若a是int型變數,C語言設a,b,c為int型變數,且a3,b4,c5,下面表示式值為0的是
樓上的不對du。4和8都錯了 逗號表示式zhi的一dao 般形式 表示式內1,表示式2 逗號表示式的求解過程是 先求容解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。因此 4 26 a 4 5求得a為20,之後a 2但是a不變,之後a 6為26,即表示式的值 5 12 因為a 4,6 ...
若i和k都是int型別變數,有以下for語句fori
for i 0,k 1 k 1 k for語句du中第一個語句 zhii 0,k 1 為初始賦值語句。第二個語句 k 1 為迴圈判斷語句,dao這裡k 1是賦值語句,表邏輯回判斷時值為1,所答以構成無限迴圈。應該寫成k 1 設i和k都是int型別,則以下for迴圈語句 for i 0,k 1 k 1...
c語言關於int和long型別的範圍
編譯器不同,寬度是不 相同,分別如下 16位編譯器 int 2個位元組 long 4個位元組 long long 8個位元組 unsigned long 4個位元組 32位編譯器 int 2個位元組 long 4個位元組 long long 8個位元組 unsigned long 4個位元組 64位...