求解啊,C語言的問題,求解啊, C語言的一個問題

2022-06-14 20:35:26 字數 903 閱讀 4281

1樓:匿名使用者

表示式y=(x=a+b),(b+c);中逗號運算子結合方式從左到右且括號最高,所以首先計算(x=a+b)表示式,得到x=5而且(x=a+b)的值為5,故原始可寫為y=5,(b+c);然後計算表示式(b+c),得到表示式的值為10,故原表示式可以寫為y=5,10;,而逗號表示式優先順序比賦值運算低,故先賦值,y=5,然後原表示式變為了5,10;逗號運算子的值是最右邊一個表示式的值,所以得到整個y=(x=a+b),(b+c);表示式的的值為10,雖然整個表示式的值為10但是x=5,y=5。

2樓:

逗號為從左至右 等號為從右至左 另外就是誰優先的問題 等號優先,自己寫個簡單程式驗證一下

3樓:匿名使用者

,y=(x=a+b)這一句決定了x和y的值 從右往左算x是5 ,y=x是5

4樓:

優先的問題.

y=(x=a+b),(b+c)

x=a+b

y=xx=5,y=5

5樓:匿名使用者

主看優先順序,賦值優先順序高於逗號優先順序

6樓:

因為逗號比等號優先順序低,

相當於y=x=a+b;

b+c;

7樓:jack康

x=5你應該好理解,先算括號裡面的,y=(x=a+b),(b+c);的是想算a+b,然後賦值給x,再把(x=a+b)賦值給y,最好再進行逗號運算子,你看看書上這些運算子的優先順序就可以理解了,望採納

8樓:匿名使用者

y=(x=a+b) 先算裡面的 x=5 ,括號出來後 把值5賦給y 所以最後y=5,x=5。(b+c)是個表示式而已,與前面的無關。

C語言問題求解答,c語言問題求解答

第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值 答案應該是5.000000啊 c語言問題求解答 5 1 include 2 int main 3 21 22 2...

c語言問題求解答 謝謝,c語言問題求解答 謝謝

大概可以這麼bai寫 include include include int main printf d n j if p20 0 printf d n d in,p20 else printf 第 du10個或zhi者第20個素數不存在dao return 0 else return 1 編譯速度...

C語言問題,求解答,C語言問題,求大神解答

f函式中的a每次使用外面傳入的2,b是區域性變數,後每次都是1,c是靜態變數,函式每次執行會在上次值 1 所以最後執行三次,輸出為789 程式的輸出是 789 c語言問題,求解答 執行abc a 1 首先進行巨集代換過程,是把 a 1去替代 定義的巨集函式 x x 中的x,即得到式子 a 1 a 1...