下列程序的运行结果是 #include "stdio.h" main( ) { int x=-9,y=5,z=8; if(x<y) if(y<0) z=0; else z+=1; printf("%

admin2010-09-05  22

问题 下列程序的运行结果是
   #include "stdio.h"
   main( )
   { int x=-9,y=5,z=8;
     if(x<y)
     if(y<0) z=0;
     else z+=1;
     printf("%d\n",z);}

选项 A、6
B、7
C、8
D、9

答案D

解析 if…else语句的执行过程如下,首先计算if后面一对圆括号内表达式的值,若表达式的值为非0,执行if子句,然后跳过else子句,去执行if语句后的下一条语句;若表达式的值为0,跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。C语言的语法规定,else子句总是与前面最近的不带else的if匹配,与书写格式无关,本题目的后一个if-else相当于嵌套在第一个if子句里,相当于x=0时,z=z+1。
转载请注明原文地址:https://jikaoti.com/ti/8wI0FFFM
0

最新回复(0)