a++与++a的区别

b=a++       a就是先赋值给b,然后a+1

b=++a      先a+1,然后讲a+1的值赋给b  

例如

a=5      

b=a++        a先赋值给b,b=5.然后a+1.a=6

b=++a        先a+1 ,所以a=6,然后 把a=2的值赋给b,所以b=6

代码例子如下

#include <stdio.h>
int main()
{
int a, b, c;
a = 1; //此时 a的值是5
b = a++; //这一步,a一开始为5, 先返回a的值给b,b就为5了,然后 a执行++,a就为6了。

printf("a = %d, b = %d \n", a, b); //输出 a = 6, b = 5

c = ++a; //这一步, a先执行++,a的值就为7了,然后再将a的值返回给c,c也等于7了。因为是链接在一起所以答案与上面不一样,分开写答案就一样了

printf ("a = %d, c = %d \n", a, c); //输出 a = 7, c = 7

return 0;

}

答案可能会不一样,因为我是写在一起,分开写答案就一样了,所以写代码要有思想,不要那么死板

猜你喜欢

转载自www.cnblogs.com/dmy520/p/9299497.html
今日推荐