1樓:匿名使用者
首先樓主的輸出中是不是想輸出個'\n',你上面的書寫有點錯誤啊!修改下吧!
解釋:(a=3*5,a*4,a+5)這是個逗號表示式,逗號表示式的取值都取最後一個表示式的值。
題目中逗號表示式由三個表示式組成,分別用逗號隔開的。並且逗號表示式是從左至右執行的
先執行表示式1:即使賦值a=3*5=15,認定a=15;
執行表示式2:a*4,得到一個數60,但這個數沒有賦值給任何數,所以無用,而且a的值在執行後不變任然為15;
執行表示式3:a+15,得到一個數20,這個數就被系統認定為這個表示式的最終值,所以輸出為20。同時這裡的a的只也還沒有變,a=15。
樓主理解了嗎?
2樓:匿名使用者
(a=3*5,a*4,a+5)
這是一個逗號表示式,它會依次從左到右計算由逗號分隔的每一部分,之後返回最右邊的表示式的值,所以它的執行順序是:
a=3*5
a*4a+5
第一個表示式使a的值成為15,第二個表示式不改變a的值,最後會計算第三個表示式a+5的值,並返回這個值,由於此時a=15,所以a+5的值就是20,所以整個逗號表示式的值就是20,即printf()會輸出20
******************************************
第二個表示式只是計算了一下a*4值,並將結果拋棄,在這個程式中,可以認為它沒有實際意義.
3樓:匿名使用者
printf函式從右向左算
括號裡是逗號表示式,最前面的那個有效,
結果是15
4樓:
一樓回答的非常漂亮!
5樓:就是佐
逗號表示式
表示式1,表示式2,表示式3,...... ,表示式n 逗號表示式的要領: (1) 逗號表示式的運算過程為:
從左往右逐個計算表示式。 (2) 逗號表示式作為一個整體,它的值為最後一個表示式(也即表示式n)的值。
a=3*5,a*4,a+5 這個逗號表示式中的 表示式n就是 a+5
所以這個逗號表示式的值為 20
逗號表示式的是表示式n 與其他表示式無關(不改變a值的)
急求c語言基礎題請求答案啊,急求C語言基礎題請求答案啊
9 x 2 0 x 212 float x x float a b 17 include math.h 20 a 1 1 21 x 2 22 6 5 23 x rand b a 1 a 24 7 25 4 20 a.a 22 b ch 0 ch 9 23 d.67 25 d.e 0 26 d a 0...
剛學C語言請教,學習C語言要什麼基礎的嗎
default是預設的意思 error是錯誤的意思 default 預設 不符合以上條件 列印錯誤 default 就是說不是上面幾種型別都不能滿足時,就執行default error不知道是什麼意思 如果c不是 那就執行default那一項的東西 學習c語言要什麼基礎的嗎?與分享 勇於探索 追求簡...
c語言基礎問題求各類資料型別的長度
int 32位 多少位的系統上用等位數的編譯器編譯則為多少位,一般32 char 8位 long int 32位 folat 64位 double 128位 不同的編譯器會有不同的長度建議自己測試一下如 printf int d sizeof int printf char d sizeof cha...