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

admin2009-08-25  21

问题 有以下程序    #include <stdio.h>    mare()    {  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、331
B、41
C、2
D、1

答案D

解析 本题考查的是if语句的嵌套。C语言规定else总是与它上面的最近的且不带else的if配对,所以本题else与if(y<z)配对,即为内嵌if。在程序执行时,先判断if(x>y)的条件表达式x>y,即1>2,不成立,所以不执行内嵌if,直接执行“printf("%d",x++);”语句。由于x++表示在使用后再将x加1,所以输出1。
转载请注明原文地址:https://kaotiyun.com/show/E9Wp777K
0

相关试题推荐
最新回复(0)