Muzeebob
2015-12-04 20:12
对例题的a++和a--和--a的结果不解
我改一下代码比较好理解
#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
a=100 b=a++;第一个 先用a的值赋给b 然后a在自增 a=101 b=100
第二个 c=++a;先自增 再把值赋给c 因为a在上一个式子已经等于101了所以自增后a=102 c=102
第三个 d=--a; 先自减 再赋值给d a=101 d=101
第四个 e=a--;先赋值给e 再 自减 e=101 a=100
++a --a因为运算符号在前 所以先 自增 或自减 在使用a的值 a-- a++ 因为运算符在后面 先使用 在 自增或自减
C语言入门
926021 学习 · 20793 问题
相似问题
回答 1
回答 2