问题描述:
main()
{
int x=10,y=10,i;
for(i=0;i<2;y=i++)
printf("\n%d %d",x--,y);
}
程序如上输出x--时,%d的取值直接是x吗?之后x才会进行-1的运算?
问题解答:
告诉你自增自减的规律吧:
x++, x--, ++x, --x,这个你应当把它看成是一个表达式,所以看到这如下:
y = x++或 y=++x,这是把这个自增或自减的表达式的值赋给y,而这些表达式的值是这样的:
表达式 表达式取值 表达式计算完后x的取值
x++ ....... x ........... x+1
x-- ....... x .............. x-1
++x ....... x+1 .............. x+1
--x ....... x-1 .............. x-1
不知道你明白了没有
嗯,先输出x,然后才会自减1
输出x的值,然后x再自减1
输出的结果是
10 10
9 0