C語言問題謝謝

時間 2021-07-12 09:19:18

1樓:萌寵奇趣秀

直接拿你的**在編譯器執行了一下,

結果如下:

下面說一下我對這道題目的解析:

1、為什麼 x+++y == 7 ?

首先你要知道,+和++都是運算浮,但是因為++的優先順序為2, +的優先順序為4,所以這個公式可以看成 x++  (+ y), 而x的++雲算浮在後,所以先使用x==2參與運算, 2 + 5 == 7。

2、為什麼 x < y < 4的輸出結果是 1 ?

同上,< 也是運算浮, 優先順序為6, 結合規則從左至右, 所以這個公式是先計算的 x < y ,因為不成立所以條件為假 (false 也就是 0), 然後 0 < 4成立,條件為真,所以輸出結果為1.

備註:這個題目考察的問題點實際上就是雲算符的優先順序 和 結合規則,如果能熟練掌握,其實很簡單的,加油。

以上是我對這道題目的解析,如果對你有幫助,請採納一下,謝謝。

2樓:金色潛鳥

表示式 (x+++y) 中 "++"運算子優先於 "+" 號,所以可以化為:

((x++)+y) ; 由於 x++是字尾++,在表示式裡 x 用原值,出了表示式再增1,於是表示式化為: ((x)+y) , 出了表示式再做 x=x+1.

所以第一空格 填 7。 即,

int x=2,y=5;

printf("%d\n",x+++y); //輸出 7。

x=2,y=5;

printf("%d\n",(x++)+y); //輸出 7。

表示式 (x

x=2,y=5; (x

x=2,y=5; printf("%d\n",x

x=2,y=5; printf("%d\n",((x

3樓:匿名使用者

此題解析如下:運算子'++'的優先順序高於運算子'+'的優先順序,在一個要知道i++與++i的區別,前者是i先參與運算然後在執行自身加一,後者正好相反,故:x+(++y)= x + (y + 1) = 2 + 6 = 8;

4樓:知不足而後進

(x++)+y=2+1+5=8

c語言編譯的時候是從左往右編譯的

C語言問題求解如圖謝謝為何是三,C語言問題求解如圖謝謝為何這個不用 與號

y冰靨之星 你可能要先理解下 switch a 這個條件是得到a值代入後面滿足條件的case式子計算,再自增。再理解下沒有break的case語句 當case式子之後不帶break的話,該式子及之後所有條件的式子都會被執行 所以程式中的a,b值變化是 a 1,b 0 初始值 a 1,b 1,b 0,...

c語言問題?詳細解答一下,謝謝,C語言問題,詳細解答一下,謝謝

密碼忘記了 遞迴呼叫,結果是輸出陣列中所有數的和,對這個例子結果是6.if n 這句話表示如果n 1,就以該陣列第二個數為輸出作為一個新陣列,n 1為新的n,遞迴呼叫該函式,將返回值和當前輸入陣列的第一個元素加起來的和作為返回值。else return a 0 表示n為1時,直接返回陣列第一個元素。...

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...