Sophia_hjy
2016-09-10 11:33
#include <stdio.h>
int main()
{
int x=100;
printf("%d\n",x++);
printf("%d\n",++x);
printf("%d\n",--x);
printf("%d\n",x--);
printf("%d\n",x+1);
printf("%d\n",x);
return 0;
}
int x=100; 输出的数 x的值
printf("%d\n",x++); 1 101 101
printf("%d\n",++x); 2 102 102
printf("%d\n",--x); 3 101 101
printf("%d\n",x--); 4 101 100
printf("%d\n",x+1); 5 101 100
printf("%d\n",x); 6 100 100
1-4行输出完后,x的值都变了,而第5行输出完,x的值没有变,还是100,所以最后输出的x的值是100
#include <stdio.h>
int main()
{
int x=100;
printf("%d\n",x++);
printf("%d\n",++x);
printf("%d\n",--x);
printf("%d\n",x--);
printf("%d\n",x+1);//问题出在这儿,你这只是输出一个x+1的数,而不是对x进行更改,,若你想输出100,102,101,101,100,101,那么正确的应该是x++,若是后面都是101,那就是++x,按照计算机的思维,而不是我们规定的人的思维思考//
printf("%d\n",x);
return 0;
}
因为之前四个输出相当于是x=x+1和x=x-1;改变了x的值
第五个输出并没有把x+1的结果赋值给x,输出结果是101但是没有改变x的值
所以最后一个输出依旧是100
C语言入门
926207 学习 · 20797 问题
相似问题