qq_峰印_0
2017-09-26 17:41
为什么结果相同,这两个在这里一样吗?
a++ 的含义是先赋值后相加,如 b=a++; 先将a的值赋给b,然后a再加上1;++a的含义是先相加后赋值,如 b=++a 先将a加上1,然后再把加上1的a赋给b.
int a=1;
b=a++; ---> b=a ,b=1;a+1,a=2;
b=++a;--->b=a+1,b=2; 此时的a已经是2
单独看结果肯定是一样的
但是问题在于num本身的值 发生改变
举个例子来说
int num=0;
int a=num++;
int b=++num;
a的值是0,而b 的值是1, 也就是说 num++ 是先把num 的值赋给a 再自行j加1;而++num是 将num加1后 (这时num为1) 再赋给b
C语言入门
926209 学习 · 20797 问题
相似问题