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

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

自增自減不太懂

自增自減是指在完成運算所得值給下一步使用嗎?

正在回答

2 回答

#include?<stdio.h>
int?main()
{
????int?x?=?0;
????printf("x=%d\n",x++);
????printf("x=%d\n",++x);
????return?0;
}

以上面這段代碼為例,

int x=0;

定義了x的值為0,

printf("x=%d\n",x++);

輸出上面一行代碼“x++”的運算結果,結果:x=0,

為什么x=0呢?因為“x++”的運算規則是 ?先取值再運算 ?,換成人話就是,先輸出x的值:0,再去加1。雖然現在顯示的是0,實際上他的值已經變成了1

printf("x=%d\n",++x);

這里再輸出上面一行代碼中“++x”的運算結果,結果:x=2,

為什么x=2呢?因為“++x”的運算規則是 ?先運算再取值 ?,再換成人話就是,先計算x+1,再輸出結果,

前面也說過,在執行過“printf("x=%d\n",x++);”這一行代碼后,x已經變成了1,所以這時的x=1+1=2。


PS:我也是初學者,如果哪里說錯了,請指出,一定虛心接受!

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

慕圣5972245 提問者

非常感謝!
2016-01-30 回復 有任何疑惑可以回復我~

i++是先取值再加1;

++i是先加1再取值;

比如:

int m=5,n;

//n=m++;

//n=++m;

第一種輸出n就是5,但m=6;

第二種輸出n就是6,m=6;

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

四葉草61ym

為啥子不是7安,不是上面m為6了啊,6+1=7都嘛
2016-11-13 回復 有任何疑惑可以回復我~
#2

Togepi 回復 四葉草61ym

????因為我是分開寫的,是討論兩種情況,如果按順序的話,你說的是對的啊~
2016-11-13 回復 有任何疑惑可以回復我~
#3

四葉草61ym 回復 Togepi

我還是不懂
2016-11-20 回復 有任何疑惑可以回復我~
#4

Togepi

嗯,我感覺是我沒講清楚,假如有一個數x=3,分兩種情況:①a=x++,你輸出a就是3;②x=3,a=++x,輸出a就是4
2016-11-20 回復 有任何疑惑可以回復我~
#5

Togepi 回復 四葉草61ym

快看回復
2016-11-20 回復 有任何疑惑可以回復我~
查看2條回復

舉報

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

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

進入課程

自增自減不太懂

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

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

幫助反饋 APP下載

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

公眾號

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