有以下程序: #include<stdio.h> main() { int x=1,y=2,z=3; if(x>y)if(y<z) printf("%d",++z); else printf("%d",++y); printf("%d\n",x++);}

admin2020-11-23  25

问题 有以下程序:
#include<stdio.h>
main()
{
int x=1,y=2,z=3;
if(x>y)if(y<z)
printf("%d",++z);
else
printf("%d",++y);
printf("%d\n",x++);}
程序的运行结果是(    )。

选项 A、1
B、41
C、2
D、331

答案A

解析 else总是与离它最近的if配对,所以第一个if语句的判断条件不成立,不再执行第二个if语句和与第二个if语句配对的else语句,而是直接执行打印x++的操作,打印x的值1以后再加1。
转载请注明原文地址:https://kaotiyun.com/show/253p777K
0

最新回复(0)