課程
/后端開(kāi)發(fā)
/C
/C語(yǔ)言入門(mén)
為什么printf("%d\n",a+1);不改變a的值
2016-07-18
源自:C語(yǔ)言入門(mén) 3-3
正在回答
因?yàn)橹挥凶栽鲎詼p才會(huì)改變a的值
printf("%d\n",a+1)的輸出結(jié)果是101的原因是%d指的是a+1整體。
如果第五步改變a的值,那么第六步的輸出結(jié)果就不是100了。
不知道我說(shuō)清楚了嗎?
#include <stdio.h>
int main()
{
? ? int a = 100;
? ? printf("x=%d\n",a++);//先取值100 下一段再運(yùn)算+1。所以這段的 答案是100
? ? printf("x=%d\n",++a);//先運(yùn)算上一段剩下的(100+1)在運(yùn)算這一段的a+1,所以公式是(100+1)+1=102,答案是102
? ? printf("x=%d\n",--a);//先運(yùn)算在取值(-1)+102=101 答案是101
? ? printf("x=%d\n",a--);//先取值 101 再下一段運(yùn)算101 -1 ? 所以這段 答案是101
? ? printf("x=%d\n",a+1);// 先運(yùn)算上一段剩下的101-1 在運(yùn)算這一段 ,所以公式是(101-1)+1=101 ?答案是101 ?注意;這里并不改變a的值,也就是說(shuō)這一段是單純的+1并不影響第8段運(yùn)算完的結(jié)果a=(101-1),所以a還是100 然后在這段中+1
? ? printf("x=%d\n",a);//第9段說(shuō)明a還是100
? ? return 0;//
} ? ? ? ?/* ? 5. ? 100
? ? ? ? ? ? ? 6. ? 102 ? ?
? ? ? ? ? ? ? 7. ? 101
? ? ? ? ? ? ? 8. ? 101
? ? ? ? ? ? ? 9. ? 101
? ? ? ? ? ? ? 10. ?100 ? ?*/
幕布斯1309840
它輸出的還是a的值,
符號(hào)在后面,先取值再賦值,所以printf是a的值
舉報(bào)
C語(yǔ)言入門(mén)視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
1 回答急急急急急急求
2 回答寫(xiě)代碼 急大神求
2 回答急急急急急急
4 回答急急急!快考試了!求大佬解答!
2 回答急急急!求解答!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-10-26
因?yàn)橹挥凶栽鲎詼p才會(huì)改變a的值
printf("%d\n",a+1)的輸出結(jié)果是101的原因是%d指的是a+1整體。
如果第五步改變a的值,那么第六步的輸出結(jié)果就不是100了。
不知道我說(shuō)清楚了嗎?
2016-07-18
#include <stdio.h>
int main()
{
? ? int a = 100;
? ? printf("x=%d\n",a++);//先取值100 下一段再運(yùn)算+1。所以這段的 答案是100
? ? printf("x=%d\n",++a);//先運(yùn)算上一段剩下的(100+1)在運(yùn)算這一段的a+1,所以公式是(100+1)+1=102,答案是102
? ? printf("x=%d\n",--a);//先運(yùn)算在取值(-1)+102=101 答案是101
? ? printf("x=%d\n",a--);//先取值 101 再下一段運(yùn)算101 -1 ? 所以這段 答案是101
? ? printf("x=%d\n",a+1);// 先運(yùn)算上一段剩下的101-1 在運(yùn)算這一段 ,所以公式是(101-1)+1=101 ?答案是101 ?注意;這里并不改變a的值,也就是說(shuō)這一段是單純的+1并不影響第8段運(yùn)算完的結(jié)果a=(101-1),所以a還是100 然后在這段中+1
? ? printf("x=%d\n",a);//第9段說(shuō)明a還是100
? ? return 0;//
} ? ? ? ?/* ? 5. ? 100
? ? ? ? ? ? ? 6. ? 102 ? ?
? ? ? ? ? ? ? 7. ? 101
? ? ? ? ? ? ? 8. ? 101
? ? ? ? ? ? ? 9. ? 101
? ? ? ? ? ? ? 10. ?100 ? ?*/
2016-07-18
它輸出的還是a的值,
2016-07-18
符號(hào)在后面,先取值再賦值,所以printf是a的值