int i,j i1 jiiiprintfdj列印結果是

2022-04-18 15:49:59 字數 1143 閱讀 7241

1樓:

int i,j; i = 1; j = (i++) + (i++) + (i++); printf("%d", j); 列印結果是?

i++表示的是先用i然後再加加

這樣的話第一次i++取了1

第二次取了2

第三次取了3

所以j 是1+2+3=6

2樓:匿名使用者

這個和編譯器有關。

一般這兩種結果:

1.先把++運算全部算完在算加法,等價於:

i++; //i=2

i++; //i=3

i++; //i=4

j=i+i+i; //j=4+4+4=12;

2.只算部分++運算等價於:

//先算前兩個++,運算完加法,再算++,再運算加法i++; //i=2

i++; //i=3

tmp=i+i; //tmp = 6

i++; //i=4

j=tmp+i; //j=6+4=10

*********************************************

我錯了,上面是前++的答案,我看錯了。

後++的話:

也是兩種答案:

1.先全部算++,但是是後++,不帶入表示式。

i=1j=i+i+i; //j=3,i變為42.先算前兩個++

i=1tmp=i+i; //j=1+1=2, i變為3j=tmp+i;//j=2+3=5,i變為4

3樓:閒遊的龜

答案是3,樓主自己可以執行一下

j = (i++) + (i++) + (i++);

確實是先用i再++,但是是這一句完了以後才++,所以這裡的i始終是1

4樓:不_想_知道

i++和++i的區別問題,j = (i++) + (i++) + (i++);是一條語句;第1,2,3個i++都是要先使用i再使i++;

所以此條語句等價於:j = i + i + i = 3; i++ 再執行三次。

已用microsoft visual c++ 進行測試,此題的結果為3.

5樓:匿名使用者

天書 看不懂 是印表機列印出來的嗎?

化簡 1 a 1 a 1 a 1 a1 a四次方1 a三十二次方)

1 a 64 根據平方差公式計算a b a b a b 反過來就是 a b a b a b 1 a 1 a 1 a 1 a 1 a四次方 1 a 三十二次方 1 a 1 a 1 a 1 a四次方 1 a 三十二次方 1 a 1 a 1 a 1 a四次方 1 a 三十二次方 1 a 1 a 1 a四次...

COUNTIF A 1 A1,A1 和COUNTIF A A,A1 都是什麼意思啊,A 1 A1怎麼選擇單元格

countif a a,a1 統計的是和a1相同的資料在a列中出現的次數 countif a 1 a1,a1 統計的是a1這個資料在a列第一個單元格到當前統計單元格出現的個數。兩公式不同的地方是 如果公式下拉,當出現重複資料時,第一條公式會得出重複的總個數,第二條公式會隨著重複數的增加而增加。比如,...

小數1用元 角 分表示,1元1角1分1裡分別用小數表示

1元用元角分表示是1元0角0分,一般寫成1元,用小數表示是1.00元。1.25元用元角分表示是1元2角5分 小數1用元 角 分表示 1元用元角分表示是1元0角0分,一般寫成1元,用小數表示是1.00元。1.25元用元角分表示是1元2角5分 注 1元 10角,1角 10分 1元1角1分1裡分別用小數表...