【请看下这个程序单】

来源:百度知道 编辑:UC知道 时间:2024/05/05 09:52:55
#inklude"stdio.h"
void main()
{
int a;
a=5;
printf("a=%d\n",++a); //这里的a的值变为6了
printf("a=%d\n",a++); //这里a的值为什么不是7而依然是6呢,在前面a的值不是已经成为6了吗?到这里为什么不是6+1=7呢?
printf("a=%d\n,a); //还有这里为什么a的值又成7了?
}

第一个 ++a 是先自加再付值,先自加等于6后付值输出为6
第二个 a++是先付值再自加,先把值输出,即输出值等于6,然后再自加等于7
所以最后就是7

++a是先自加,再参与运算,而a++是先参与运算再自加。。。

交流。。。

这里就是a++和++a的区别了

a++ 是先取a的值在加 上去 ++a是先加在取a的值

也就是说比如a=5
所以b=(a++)=5 b=(++a)=6这样就可以明白了

在最后一句的时候就变成上一个的值就是+以后的7了

#inklude"stdio.h"
void main()
{
int a;
a=5;
printf("a=%d\n",++a); //这里的a的值变为6了 ,因为a加1了变6
printf("a=%d\n",a++); //这里a的值为什么不是7,因先输出a后,a才加1;变成7;
printf("a=%d\n,a); //还有这里为什么a的值又成7了?
}