c語言問題

2022-12-04 16:56:09 字數 781 閱讀 5116

1樓:匿名使用者

||這個符號是邏輯或吧,它表示參加運算的只有一個非零那麼結果就為真.還要注意,邏輯運算子是採用左結合律,c語言其它很多運算都是採用從右向左的,這是c語言的一個難點,學習的時候要注意.

(j++||k++)從左向右j++是1,所以這個運算結果是真,k++根本就不運算,因為它只要有一個非零其結果就為真.

&&這個表示兩邊同時非零其結果才真,所以兩邊都要運算.

所以最後結果是j和i自增了,k未運算,所以不變.即結果為2,2,2

2樓:伊·梵

||&&

有短路效應,就是說從左往右計算的時候,如果已經可以確定結果,後面的就不算了

(j++||k++)&&i++

因為j=1,所以(j++||k++)的值已經是真,k++就沒有被執行

3樓:匿名使用者

j++||k++ 邏輯與

因為j++的值非零

所以後面的表示式不執行

4樓:匿名使用者

或運算:j++||k++ 如果||之前的式子為真則符號之後的直接跳過,所以j++||k++只運算了前半段,所以答案是2,2,2

與運算&&當前面的式子為假,直接跳過後半段……

5樓:匿名使用者

同意上面回答.

短路效應, 以減少運算,自己使用的時候要防止出現某些部分補短路時沒能被執行的情況.

6樓:

沒有我說的份了........

c語言問題,C語言問題?

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

c語言問題,C語言問題?

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...

C語言問題C語言問題,C語言小問題段錯誤是什麼

str2num char p num num k return num c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock printf n return 0 c語言小...