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裡分別用小數表...