c语言程序设计:下面程序,若键盘输入的数字是6和4,则输出时什么?

main()
{int x;
scanf("%d",&x);
if(x++>5)
printf("%d\n",x);
else
printf("%d\n",x--);
}

分别是7和5

前者执行了if语句,因为6大于5是真的,同时x又自増变成7,所以输出7
后者不执行if语句,因为4大于5是假的,同时x也自増变成5(注意不要认为条件4>5不成立,x就不自増了,它自増和条件是否为真无关,无论真假x++都是执行了的),去执行else语句,x--整个表达式的值是5,所以输出5(同时x也自减变成4,你若再加一条输出语句就可以看到输出4)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-03
输入6,那么就是(x++>5)成立,这里x++后x=7,输出7
输入4那么(x++>5)不成立,执行else这里x++后x=5
x--=5,输出5