a++和++a 都属于自增运算符,区别是对变量a的值进行自增的时机不同。
a++是先进行取值,后进行自增。++a是先进行自增,后进行取值。
a++是首先拷贝自己的副本,然后对真值加一
++a是对真值加一,然后使用真值
int a=0, b, c;
b = a++;
c = ++a;
printf("b=%d, c=%d", b, c);
运行结果为b=0,c=2。
而a++和++a本身在单独使用时,与a=a+1是等价的
面试题
int i = 10
i = i++ ;
此时,i的值是多少?
答: 输入 i 的值为 10
解析
首先 i++ 的取值结果为10, 然后 i 进行自增,此时 i=11 ,最后 进行赋值 ,所以 最后输出 i的值 为 10.