int i 1,j 2 int k ij第二條語句的意思是k ij還是k ij 為什麼

2021-08-20 14:47:59 字數 2962 閱讀 3707

1樓:匿名使用者

第二個的語句是 k=(i++)+j這個 因為自身的增加 即i++的優先順序會高於+

希望我的回答能幫助到你

2樓:匿名使用者

因為運算子優先順序為++大於+

所以第二條語句應該是k=(i++)+j

分解為下面的步驟

1.i+j;(由於i++是先使用i值在表示式中進行運算,再自加1)2.k=第1步的結果3;

3.i++;(i從1自加為2)

3樓:匿名使用者

i和j之間有三個+

沒有用()來區分的話 都是從左前右執行的

那麼你的語句以 k=(i++)+j執行

4樓:匿名使用者

k=(i++)+j;

在c語言中,儘可能多的從左到右的結合運算子

5樓:

1:你沒有去判斷n和m這兩個數哪個更大

2:在使用k之前你並沒有賦值

3:第一個for迴圈應該寫成:for(k = m; k <= n; k )

4:第二個for迴圈應該寫成:for(i = 0; i <= j; i )

5:第二個for迴圈內的if和break是一個語句塊 前後加大括號6:建議將j定義為int型別 後面sqrt(k)的值強轉為int型別注意:for迴圈的三個表示式的執行順序

for(表示式1;表示式2;表示式3)

1:執行表示式1

2:執行表示式2

3:如果表示式2為假 退出迴圈

4:如果表示式2為真 執行迴圈體

5:執行表示式3

6:從第2條重新開始執行(即:執行表示式2 進入新的一次迴圈)

main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 求過程

6樓:頓芹桂寒梅

運算到++j就不在進行下面的運算了,所以k為原值,建議看下if的判定語句是怎麼樣執行的

7樓:飄零的狐狸

main()

首先 i++==1&&(++j==3||k++==3) 是一個邏輯表示式

i++==1&&(++j==3||k++==3) 分為兩部分i++==1 和 (++j==3||k++==3)他們的關係是 並且的關係

所以 兩部分都會被執行

i++==1

是先 判斷i是否等於1 (因為++在後面) 此時i=1;

在這句話執行完之後i=2

然後執行第二部分

(++j==3||k++==3)

又分為兩部分

++j==3 和 k++==3 兩部分這兩部分是 或者的關係

如果第一部分滿足條件 就不執行後面的

如果第一部分不滿足條件 就執行後面的部分

++j==3

是j先自己加1然後判斷j是否等於3

這部分的結果為真

所以後面的部分不執行

最後的結果為 i=2 j=3 k=3

8樓:

i++和 k++先做判斷是否相等,然後再做++運算++j 先做++運算,在判斷值是否相等

也就是(i==1) i++

j++ (j==3)

(k==3) k++

9樓:春雨_潤物

133 ++j為3不用算後面k不變 i++先使用i再自增故成立所以繼續輸出

10樓:渣

個人覺得這題答案應該是2,2,2. 原因是:if((j++||k++) && i++) 首先執行的是j++,返回true,此時j=2。

但是後面的||部分(即k++)是不執行的,此時仍然是k=2。 然後再執行i++,返回true,此時i=2。 最後輸出2,2,2 補充:

但是後面的||部分(即k++)是不執行的.這裡是關鍵點! 因為||與&&的區別就是||只要在一個條件成立下就返回真值; 而&&則必須要在所有的條件都成立的情況下才返回真值。

追問: 謝謝!剛我打錯了答案

11樓:匿名使用者

if(i==1)

else

}else

}else

12樓:名字長不夠寫

求什麼過程?

這段輸出值是:234

int i=1 ,j=1 ,k=2; if((j-- || k++) && i++) 為什麼答案為2 0 2

13樓:小樓微醉

關於c語言的邏來輯運算

源符:|| 運算規則是:(bai

表示式1)du||zhi(表示式2) 如果1的結果為真,則不執行dao2,表示式最後結果為真;如果1式結果為假則繼續執行2式,2式結果決定最後的結果。

&&運算規則:(表示式1)||(表示式2),如果表示式1結果為假,則不執行表示式2了,最後結果為假,如果表示式1為真,則繼續執行表示式2,表示式2的結果為最終結果。

自增運算規則:前置++i,i的值馬上加1並存於i中,後置i++,i的值在下一個語句中加1,當前i的值不變。

此處(j-- || k++) && i++) 首先j--,由於是後置所以j的值不變,但是在下一句輸出的時候值會加1,所以表示式的j--的值在此處還是原值 1;所以表示式(j-- || k++)結果為真,k++未執行。由於&&的第一個表示式的結果為真,所以繼續執行&& i++,即i++,i的值在下一個語句中加1;

所以最後i的值加1,k的值不變,j的值減1

14樓:依水殤殤

|| 代表的是短路或

當符號左邊為真時右邊的**就不執行了

&&代表的是短路與

當符號左邊為假時右邊的**就不執行

你這裡面的j--是真

所以k++沒有執行

第二次去美國,結果j1簽證被check了,要等多久

美國j1簽證的稽核時間是不固定的,抄 其實美國籤襲證被行bai政審查,du並不代表拒籤,zhi這種情況就是使館需要dao進一步稽核您的資料,才決定是不是給您簽證。美國一旦遇到行政審查,時間確實是比較長,多數是一個月左右,有些甚至有半年才稽核完出結果的呢,但是也不用擔心,只要您沒有提供假資料,一切都是...

我讀魯迅1 從哪幾方面談魯迅的作品2第二段運用什麼論證方

德 高潔 文風 幽默 性格 堅韌 外表與人生 四五六自然段 高潔,幽默,堅韌,品質 我讀魯迅的閱讀答案 文中第六段運用了側面描寫的方法,從兒子 父親 丈夫的角度去讚美魯迅。面對黑暗中來自四面八方的詰難,他從不屈服,他是 彷徨 在黑暗中忍不住要 吶喊 的勇士。這個句子一語雙關,既表現了魯迅堅強不屈,不...

已知點p 2m 1,m 3 ,當m為何值時,點p在第二,四象限的平分線上?點p在第一,三象限的平分

點p在二,bai 四象限平分線du上時,2m 1的絕 對值與zhim 3的絕對值相等dao,兩數互為相反數。即2m 1 m 3 3m 4.m 4 3 點回p在一,三象限答平分線上時,2m 1 m 3.得m 2。已知點p 2m 5,m 1 當m 時,點p在二 四象限的角平分線上 點p 2m 5,m 1...