課程
/后端開(kāi)發(fā)
/C
/C語(yǔ)言入門(mén)
為什么左邊例題中的 ?printf("%d、n",a); ?中a的值不受上面的影響啊啊啊啊
2017-03-07
源自:C語(yǔ)言入門(mén) 3-3
正在回答
受影響了呢,你注意到?jīng)],a一共被賦值5次,進(jìn)行了4次運(yùn)算,流程是這樣的
int a=100; //這條給a賦值100;
printf("%d\n", a++); //在這條語(yǔ)句a先取值再運(yùn)算,于是會(huì)先取a的值100輸出,然后再進(jìn)行運(yùn)算,這條語(yǔ)句執(zhí)行完后a=100+1=101;
printf("%d\n", ++a);//在這條語(yǔ)句a運(yùn)算以后再取值,也就是先進(jìn)行a=a+1=101+1=102,再將運(yùn)算過(guò)后的a的值進(jìn)行輸出,即102(這時(shí)a的值已經(jīng)為102了);
printf("%d\n", --a);//這條語(yǔ)句同上,也是a運(yùn)算后再取值,先進(jìn)行a=a-1=102-1=101,再將運(yùn)算過(guò)后的a的值輸出,即101(此時(shí)a的值已經(jīng)變化為101了);
printf("%d\n", a--);//這條語(yǔ)句的話(huà)是先取值再運(yùn)算,也就是先將101這個(gè)值輸出,輸出后再對(duì)a進(jìn)行運(yùn)算,即a=a-1=101-1=100(運(yùn)算過(guò)后a這時(shí)的值為100);
printf("%d\n", a+1);//這一條語(yǔ)句是不會(huì)對(duì)a的值有影響的,只是輸出結(jié)果會(huì)變?yōu)?00+1即101,但是a的值還是100;
printf("%d\n", a);//所以最后a的值為100;
1212520 提問(wèn)者
慕粉9354166
看其他解答一臉懵逼,看這茅塞頓開(kāi)
上面的a++a--這些事有永祥的,只不過(guò)a+1只是暫時(shí)加1,就是那個(gè)語(yǔ)句是一個(gè)表達(dá)式,不是值,1+1以后等于2,那1還是1不是2,表達(dá)式a2=a1+1,a1加上去以后a2變了,所以是不一樣的
a沒(méi)有聲明賦值嗎?
舉報(bào)
C語(yǔ)言入門(mén)視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
2 回答求解求解求解
1 回答求解求解求解
4 回答求解求解求解
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)
2017-03-07
受影響了呢,你注意到?jīng)],a一共被賦值5次,進(jìn)行了4次運(yùn)算,流程是這樣的
int a=100; //這條給a賦值100;
printf("%d\n", a++); //在這條語(yǔ)句a先取值再運(yùn)算,于是會(huì)先取a的值100輸出,然后再進(jìn)行運(yùn)算,這條語(yǔ)句執(zhí)行完后a=100+1=101;
printf("%d\n", ++a);//在這條語(yǔ)句a運(yùn)算以后再取值,也就是先進(jìn)行a=a+1=101+1=102,再將運(yùn)算過(guò)后的a的值進(jìn)行輸出,即102(這時(shí)a的值已經(jīng)為102了);
printf("%d\n", --a);//這條語(yǔ)句同上,也是a運(yùn)算后再取值,先進(jìn)行a=a-1=102-1=101,再將運(yùn)算過(guò)后的a的值輸出,即101(此時(shí)a的值已經(jīng)變化為101了);
printf("%d\n", a--);//這條語(yǔ)句的話(huà)是先取值再運(yùn)算,也就是先將101這個(gè)值輸出,輸出后再對(duì)a進(jìn)行運(yùn)算,即a=a-1=101-1=100(運(yùn)算過(guò)后a這時(shí)的值為100);
printf("%d\n", a+1);//這一條語(yǔ)句是不會(huì)對(duì)a的值有影響的,只是輸出結(jié)果會(huì)變?yōu)?00+1即101,但是a的值還是100;
printf("%d\n", a);//所以最后a的值為100;
2017-05-23
看其他解答一臉懵逼,看這茅塞頓開(kāi)
2017-03-11
上面的a++a--這些事有永祥的,只不過(guò)a+1只是暫時(shí)加1,就是那個(gè)語(yǔ)句是一個(gè)表達(dá)式,不是值,1+1以后等于2,那1還是1不是2,表達(dá)式a2=a1+1,a1加上去以后a2變了,所以是不一樣的
2017-03-07
a沒(méi)有聲明賦值嗎?