单选题
有以下程序:#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++);}程序运行的结果是( )。
【正确答案】
D
【答案解析】解析:else子句总是与最前面最近的不带else的if相结合,与书写格式无关,所以本题中的else语句与第二个if语句配对,且if和else都在第一个if的控制范围内。首先判断x>y不成立,直接退出第一个if语句,执行printf("%d\n",x++)。(x++)的值是x加之前的值,所以输出结果为1。