外什么int x = 0; printf("x=%d\n",x++); printf("x=%d\n",++x); return 0;这里的x++输出为0,而在while语句里,a++表示数字增加1???????我真的想说,自增自减运算符,你永远都是我的噩梦!!!
2 回答
onemoo
TA贡献883条经验 获得超454个赞
x++ 是后置自增,在第一个printf中取x++的值就是x当时的值,所以打印出0。在语句结束后,x的值是x+1。
++x 是前置自增,在第二个printf中取++x的值就是x+1,所以会打印出2。
如果代码中有 a++; 这样的语句,那么在这语句结束后,a肯定是自增1的。
另外,如果单纯只是为了让变量自增,最好使用前置自增形式。后置自增由于涉及到临时变量,可能会有性能损失。
添加回答
举报
0/150
提交
取消