对例题的a++和a--和--a的结果不解
对例题的a++和a--和--a的结果不解
对例题的a++和a--和--a的结果不解
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;
}
事实上它程序运行时是这样的,进行①时可分为b=a;a=a+1; 此时得b=100 a在程序中的默认值则变为了a=101
然后②时 可拆成 a=a+1; c=a; 即先运算再取值,所以a=101+1=102 c=102 进行③时同理此时得a再程序中是102的,进行a=a-1;b=a; 所以a=101 b=101然后进行④时为e=a; a=a-1; 所以得e=101 a=100
举报