有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b>C) printf("%d\n",d) ; else if((c-1>=D) ==1) printf("%d\n",d

admin2010-01-10  29

问题 有以下程序    main()    { int a=5,b=4,c=3,d=2;      if(a>b>C)      printf("%d\n",d) ;      else if((c-1>=D) ==1)      printf("%d\n",d+1);      else      printf("%d\n",d+2);    }    执行后输出结果是  

选项 A、2
B、3
C、4
D、编译时有错,无结果

答案2

解析 C语言规定else总是和离它最近的if语句配对。故第一个else和第一个if配对,第二个else和第二个if配对。首先计算第一个if后面的表达式“a>b>c”,表达式“a>b”是为1,表达式“1>c”为0,所以执行else后面的语句。先执行if后面的表达式,“c-1>d”为真,值为1。“1==1”为真,执行printf语句。
转载请注明原文地址:https://kaotiyun.com/show/02Wp777K
0

最新回复(0)