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語言小...