main( )
{intx;
for(x=5;x>0;-)
if(x--<5)
prit("%d,"x);
else
ptitf("%d,x++),
}
代码不完整,首先按照你的结果,只能猜你的代码可能是
#include <stdio.h>
int main()
{
int x;
for (x = 5; x > 0; x--)
if (x-- < 5)
printf("%d ", x);
else
printf("%d ", x++);
return 0;
}
那么x-- x++都会修改x
x--是在先对x进行别的操作后再对x-1,--x是先对x-1再对x进行别的操作。
x++,++x同理。
for循环里应该少条件了。
首先,无论是x++,x--还是++x,--x,它们本质上都是表达式,是表达式就会有返回结果。其中x++和x--的返回结果都是x,而--x返回值是x-1,++x的返回值是x+1.
这是表达式返回值的解释,之后是这些表达式对x变量的作用效果,无论是++x还是x++,都是使x变量+1,而--x和x--,都是对x变量-1.
疑问可能来自于课堂上老师对自减自加操作符的一语带过吧。自加自减你要把表达式的返回值和对x变量的操作分开理解,上面的程序就好懂了,之后你再想课堂上所谓的“先返回后加加,还是先加加后返回”这个问题。