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

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

這些加加減減的很疑惑

為什么剛才在解析中說:無論是a++還是++a都等同于a=a+1,在表達式執行完畢后a的值都自增了1,無論是a--還是--a都等同于a=a-1,在表達式執行完畢后a的值都自減少1。

那么為什么下面舉的這個例子第一個就和解析里面說的不一樣啊,如果按照a++和++a都等同于a=a+1的話,那例題中第一個答案應該輸出的是101才對啊,因為a=100,那么a++=a+1 把a=100代入進去算出來不就是101嗎?為何例題輸出的是100?

正在回答

2 回答

i++ 是先返回 i 的值,再 i = i + 1;

++i 是先 i = i + 1;再把 i 值返回。

以示例代碼為例:

int?x?=?0;????//?x?值為?0
//?調用printf時,printf想要知道第二個參數的值,這第二個參數就是“++x”
//?那么會先把x的值加上1(x為1),再把x的值(就是1)返回給printf用
printf("x=%d\n",++x);?
//?這一句printf同樣想知道它的第二個參數的值,就是“x++”
//?那么會先把x的值返回給printf用(值還是1),再把x的值加上1(這時i為2)
printf("x=%d\n",x++);
//?也就是說如果再次取x的值的話,就會得到2
printf("x=%d\n",?x);??//?這一句會輸出2


? ?


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

王家濤IT 提問者

非常感謝!
2015-06-30 回復 有任何疑惑可以回復我~
#2

onemoo 回復 王家濤IT 提問者

http://www.xianlaiwan.cn/qadetail/83948
2015-06-30 回復 有任何疑惑可以回復我~
#3

onemoo 回復 王家濤IT 提問者

我在這里的回答要更詳細 http://www.xianlaiwan.cn/qadetail/83948
2015-06-30 回復 有任何疑惑可以回復我~

這個答案不錯:http://zhidao.baidu.com/question/424256398645419812.html?qbl=relate_question_0&word=i%2B%2B%BA%CD%2B%2Bi%B5%C4%C7%F8%B1%F0&optimi=4

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

舉報

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

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

進入課程

這些加加減減的很疑惑

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

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

幫助反饋 APP下載

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

公眾號

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