C语言选择题54?

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:09:34
54.阅读以下程序:
main( )
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d",x);
else printf("%d",x++);}
程序运行后,如果从键盘上输人5,则输出结果是( )
A、3 B、4 C、5 D、6
为什么要这么选?

答案是:b
#include<stdio.h>
void main( )
{ int x;
scanf("%d",&x);
if(x--<5)//这里x=5,但是x在下一步处已经是4了。跳过去执行else
printf("%d",x);
else //此时x=4,
printf("%d",x++);x++在这一据运行完后自加1,所以输出4.
}

B
if为假不执行,但x--变4,
输出时候x值不变

选B;
X-变成4!因为4<5所以IF后的表达式成立!不用执行ELSE语句!所以上面的回答是错误的

B
x--先使用x再减1

D