您的位置:首页 > 其它

printf("%d,%d,%d/n",a,++a,a++)

2010-10-15 22:10 288 查看
int a = 1;
printf("%d,%d,%d/n",a,++a,a++);

输出是多少?

1.从左往右进行?

1,2,2 ?

2.从右往左?

1,3,3 ?

都不是,

是 2,2,1

解释一下:我们知道++a(假设a是int型)是相当于立即执行了a+=1;

而a++就是a,++要等到算式结束之后。

而printf("%d,%d,%d/n",a,++a,a++)就是一个算式,从右向左结合:

a++ 输出 1,此时a还是1

++a输出 2 ,此时a = 2;

a输出2,

之后a++生效, printf("%d/n",a)将输出3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐