C語言,求答案和解析

時間 2021-08-30 11:20:53

1樓:微笑載心

答案:8

解析:第一個s+=a++; a的值是5,此處a是區域性變數int a=5;的那個a,語句s+=a++; 你可以認為對s的影響只有s+=a;所以s的結果就是s=s+a=0+5=5;

第二個s+=a++; 此處的a是#include後面定義的那個int a=3;這個全域性變數,所以a=3;注意上面的區域性變臉int a=5;已經超過了它的作用範圍,所以下面的a是全域性變數,即a=3; 同理第二個s+=a++;對s的影響只有s+=a;所以s的結果就是s=s+a=5+3=8;

2樓:風若遠去何人留

有兩個a 一個是全域性變數 一個是區域性變數在main 內部的大括號裡面是區域性變數 其它地方是全域性變數。 這兩個a不同。

程式執行時。

初始 s=0

進入大括號 這裡是區域性變數a 為5。 執行s+=a++; s=0+5=5

之後a自加為6. 但不影響全域性變數a

出來 執行s+=a++;

這裡是全域性變數a值為3

於是s=5+3=8

a自加為4

輸出s值為8

3樓:匿名使用者

區域性變數覆蓋全域性變數 因此 s=5;但是在這段**之後區域性變數a就銷燬了

下一行s+=a++的a就是全域性變數a=3

s=8,此時全域性變數a=4;

答案選a

C語言答案 解析,C語言問題,要答案和解析

d.4 sizeof key 得到 k e y 0 四個字元佔用的記憶體位元組數 優先順序高於 p x 也就是 p x 然後 p p y 也就是 p y 所以被 的是 p指向的y,而不是p a 3 x a 3 就是a 3 printf d,p x 先輸出a 0 x 然後p加1 指向a 1 print...

兩道C語言題目,求答案和解析,謝謝

碧海風雲 第9題 c 核心知識點 1 逗號表示式,從左往右逐個計算表示式,整個表示式的值為最後一個表示式的值。2 a與a 的區別,前者為先自加1而後引用當前值參與計算,後者為先引用當前值參與計算而後自加1。x a 3,b a 1 執行a 3,此時a值為3 2 執行 a,此時a值為4 3 執行b a,...

c語言尋答案 解析

include main if a 10 0 這是計算該數有幾位數 t if a 100 0 t if a 1000 0 t printf 它是一個 d位數 n t printf 千位為 d n a 1000 分別輸出每一位數字 printf 百位為 d n a a 1000 1000 100 pr...