亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

++i與i++問題

#include <stdio.h>
int main()
{
??? int i,sum=0;
??? i=1;
??? while( i<=100 )??
??? {
??????? sum=sum+i;
???????? i=i++;
??? }
??? printf("100以內所有整數之和為:%d\n", sum);
??? return 0;
}

為什么使用i=i++不能得出5050,i=++i可以得出5050//i++與++i都等同于加一

正在回答

3 回答

題主你沒必要使用i=i++,直接用i++即可,因此你的問題就出在這里,當使用i=i++時,i的值等于i+1之前的值也就是它本身,當使用i=++i時,i的值等于i+1,由此,為了避免出現這種錯誤,推薦題主直接使用i++或者++i,在這種情況下兩者是等價的。(不過神奇的是我在VS2017里用題主的方法都能得出5050,估計是編譯器的問題,但是最好直接用i++或者++i)



0 回復 有任何疑惑可以回復我~

同上,所以i++循環算的其實是1加到101的和

0 回復 有任何疑惑可以回復我~

i++是先運算再加1,++i是先加1再運算

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       927001    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

++i與i++問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號