1樓:匿名使用者
先執行a=w>x 應為wz不執行,b還是初始值6
2樓:
程式首bai先計算a=w>x,這裡由於duw=1,x=2,所以zhiw>x為假
dao,假用0來表示,所以a=0;
由於是&&操作,這裡有一個內"短路",即比容如a&&b的話,如果a為假的話,那麼b就不計算了,可以直接得到&&表示式的結果了.
這裡由於後半個式子沒有計算,因此,b的值沒有改變.
3樓:匿名使用者
因為用&&連線,前邊的條件已經是false的時候,後面無論是什麼,結果都是false,也就沒必要去執行了。而程式編譯器顯示知道這點,所以它沒執行後面的條件
int a=5,b=6,w=1,x=2,y=3,z=4.執行表示式(a=w>x)&&(b=y>z)
4樓:匿名使用者
(a=w>x)&&(b=y>z)的值為0 a為0 b為6
&& 與操作是從左至右
而 a=w>x 中,由於w&& 與運算見0為0,所以右邊b的那一塊壓根就麼參加計算
假定a和b為int型變數,則執行以下語句後b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);
5樓:匿名使用者
額 一開始我被糊弄抄到了 後來用printf一輸出才發現原來錯得糊弄離譜啊
b=10 a=1 b-=a 等價於b=b-a 所以b=9 a++ 所以a=2 重頭戲來啦
while(b--<0) 嘿嘿 注意是《號哦 b--<0 是先用b的值與0比較大小 再b自減1 也就是說9<0 當然是假啦 所以就退出迴圈 又b要自減1 所以最後b=8呵呵
6樓:鐵書包
這是正常的,因為迴圈只執行了一遍!
do....while()的用法是執行一遍之後判斷是否符合條件!
對應本題就是執行一遍之後,檢查b--是否小於0,若果小於0則繼續執行,不小於0則退出!
7樓:逆筆回鋒
在do執行完後,b變成9
在while語句中,先判斷b<0==false再進行b--;
所以b==8;
又例a[3]=;
a=1;
那麼a[++a]==2;a[a++]==1;但無回論是哪一個答a都變成了2
8樓:匿名使用者
不是8能是什麼?
一開始, a=1, b=10
b-=a; 這時b=9了
a++; 這時a=2了,b還是9
while(b--<0) ; 這時b為8了,所以條件不成立,跳出迴圈。
所以,最後b=8.
9樓:美麗的華
首先b-=a,這時b=10,a=1,執行後b=9,a=2
然後while(b--<0),b--了一次,b=8
10樓:匿名使用者
其實,來你應該是記錯了,do-while語句自裡面while(表示式)必須在判斷表示式為真,才可以繼續進行下一輪的迴圈,這裡說的是b--<0,是假的,所以停止迴圈,退出語句。b--使用過後,自減,得出來b值為8.
c語言。。求解???若定義:int w=1,x=2,y=3,z=4,a=5,b=6; 則執行語句(
11樓:王勃啊
親,一開始b就等於6好不。
你沒看到int b=6麼。。。
後來因為w>x 為假,所以 (b=y>z)就不執行了。
b就保持了原來的值
12樓:匿名使用者
此語句順序執行,先執行a=w>x,條件為假,因此a=0;&&前有一條件為假,所以後邊的語句不執行,因此b=6.
13樓:曾經單純
選b解釋:
w>x不成立,所以a=0,那麼&&運算子的左值(a=w>x)整體為false;
因為&&的短路效果,就是左值為false,則不計算右側表示式;
所以b還是為最初賦值的6
綜上:a=0,b=6
14樓:執筆
y大於z為假,所以b等於0。同理x等於0
執行下面的程式段後,變數k中的值為int k 3,s
請問你是c 呢 還是c 呢?如果c 的話 k 0 c k 隨機數。執行下面的程式段後變數k中的值為 int k 3,s 2 s 0 k k s 0 10 給你解答一下這段 希望對你有用 int k 3,s 2 定義一個常數k為3,陣列s 2 最多裝入3個數 s 0 k 把k等於3的值賦值給陣列s中儲...
若a12則執行語句aaa後a值是0執行a
這是兩個空嗎?若a 12則執行語句a a a後a值是2,執行a 2 3後a的值是27.此解答僅供參考。應該是60,因為根據賦值運算子的右結合性,原式 a 2 3 60 若有定義語句int a 12,則執行表示式a a a a後a的值為多少?a a a a,運算子和結合性,bai由運算子優 先級,du...
C語言中a3465執行順序,a的值為多少
此題考的知識點事算術運算子的計算。的優先順序一樣,結合為自左向右。所以先 3 4 12,在求 12除以 6的餘數,該餘數的符號與被除數一致所以為0,最後算0除以5,結果為0 c語言中inta 2 3 1,2,3,4,5,6 求a 1 2 的值怎麼求 2 3 代表 兩行 三列,並且下表都是從0開始的,...