c&c++中a++和++a的区别

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.

你可能感兴趣的:(c&c++中a++和++a的区别)