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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

int a=100;printf(“%d\n”,a++);運算結果為什么是100?

int a=100;printf(“%d\n”,a++);運算結果為什么是100?

C
bb樂天 2017-03-30 16:57:43
查看完整描述

3 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

因為 a++ 表達式的值就是 a 當時的值 100。

關于自增/減表達式的詳細解釋請參考我在老問答區的回答:http://www.xianlaiwan.cn/qadetail/83948


查看完整回答
1 反對 回復 2017-03-30
?
__innocence

TA貢獻313條經驗 獲得超208個贊

明顯是100,輸出的時候a的值是100,輸出之后才+1,你可以在后面再加一句:

printf(“%d\n”,a);這個結果應該就是101了。請采納


查看完整回答
1 反對 回復 2017-03-30
  • onemoo
    onemoo
    準確地說,其實在 printf 執行時 a 就已經是 101 了,但 printf 要輸出的是 a++ 的值,和 a 的值的是否變化沒有關系。
?
onlyl_pets

TA貢獻3條經驗 獲得超0個贊

int a=100;printf(“%d\n”,a++);因為此前定義了a的值為100,所以輸出a的值為100,那為什么不是101呢?

因為你注意a++中的++是放在a后面的,所以是先輸出a,然后a再自增,如果你在下面一行輸出a的話就是101了。

那怎樣輸出101呢,輸出語句變成printf(“%d\n”,++a);就可以了,因為++這個自增預算符放在了a的前面,所以是要先自增a的值為101再輸出

查看完整回答
反對 回復 2017-03-31
  • 3 回答
  • 0 關注
  • 3349 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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