課程
/后端開(kāi)發(fā)
/C
/C語(yǔ)言入門
對(duì)例題的a++和a--和--a的結(jié)果不解
2015-12-04
源自:C語(yǔ)言入門 3-3
正在回答
我改一下代碼比較好理解
#include <stdio.h>
int main()
{
? ? int a =100,b,c,d,e;
? ? b=a++; ?//①
? ? c=++a; ?//②
? ? d=--a; ?//③
? ? e=a--; ? //④
? ? printf("%d\n",b);
? ? printf("%d\n",c);
? ? printf("%d\n",d);
? ? printf("%d\n",e);
? ? return 0;
}
事實(shí)上它程序運(yùn)行時(shí)是這樣的,進(jìn)行①時(shí)可分為b=a;a=a+1; ?此時(shí)得b=100 ? a在程序中的默認(rèn)值則變?yōu)榱薬=101
然后②時(shí) 可拆成 a=a+1; c=a; ?即先運(yùn)算再取值,所以a=101+1=102 ?c=102 ? ?進(jìn)行③時(shí)同理此時(shí)得a再程序中是102的,進(jìn)行a=a-1;b=a; 所以a=101 ?b=101然后進(jìn)行④時(shí)為e=a; a=a-1; ?所以得e=101 ?a=100?
Muzeebob 提問(wèn)者
熊貓竹
a=100 ?b=a++;第一個(gè) 先用a的值賦給b ?然后a在自增 ?a=101 b=100?
?第二個(gè) ? c=++a;先自增 再把值賦給c ?因?yàn)閍在上一個(gè)式子已經(jīng)等于101了所以自增后a=102 ?c=102?
?第三個(gè) ?d=--a; 先自減 ?再賦值給d ? a=101 ? d=101
?第四個(gè) e=a--;先賦值給e 再 自減 ? ?e=101 ? a=100?
++a --a因?yàn)檫\(yùn)算符號(hào)在前 所以先 自增 或自減 在使用a的值 ? a-- ? a++ ?因?yàn)檫\(yùn)算符在后面 先使用 在 自增或自減
舉報(bào)
C語(yǔ)言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
1 回答a=a++的結(jié)果還是a?
4 回答怎么理解【a++ = a】和【a++ =a+1】
2 回答--a||a++和a++||--a為何不同
2 回答a++和a+,+a、++a的區(qū)別是什么??
2 回答--a和a--的疑問(wèn)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-12-04
我改一下代碼比較好理解
#include <stdio.h>
int main()
{
? ? int a =100,b,c,d,e;
? ? b=a++; ?//①
? ? c=++a; ?//②
? ? d=--a; ?//③
? ? e=a--; ? //④
? ? printf("%d\n",b);
? ? printf("%d\n",c);
? ? printf("%d\n",d);
? ? printf("%d\n",e);
? ? return 0;
}
事實(shí)上它程序運(yùn)行時(shí)是這樣的,進(jìn)行①時(shí)可分為b=a;a=a+1; ?此時(shí)得b=100 ? a在程序中的默認(rèn)值則變?yōu)榱薬=101
然后②時(shí) 可拆成 a=a+1; c=a; ?即先運(yùn)算再取值,所以a=101+1=102 ?c=102 ? ?進(jìn)行③時(shí)同理此時(shí)得a再程序中是102的,進(jìn)行a=a-1;b=a; 所以a=101 ?b=101然后進(jìn)行④時(shí)為e=a; a=a-1; ?所以得e=101 ?a=100?
2015-12-04
a=100 ?b=a++;第一個(gè) 先用a的值賦給b ?然后a在自增 ?a=101 b=100?
?第二個(gè) ? c=++a;先自增 再把值賦給c ?因?yàn)閍在上一個(gè)式子已經(jīng)等于101了所以自增后a=102 ?c=102?
?第三個(gè) ?d=--a; 先自減 ?再賦值給d ? a=101 ? d=101
?第四個(gè) e=a--;先賦值給e 再 自減 ? ?e=101 ? a=100?
++a --a因?yàn)檫\(yùn)算符號(hào)在前 所以先 自增 或自減 在使用a的值 ? a-- ? a++ ?因?yàn)檫\(yùn)算符在后面 先使用 在 自增或自減