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

admin2009-01-15  25

问题 有以下程序    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配对。首先计算第一个订后面的表达式“a>b>c”,表达式“a>b”是为1,表达式“1>c,’为0,所以执行else后面的语句.先执行if后面的表达式,“c-1>d”为真,值为 1。“1==1”为真,执行printf语句.所以,B选项为所选。
转载请注明原文地址:https://kaotiyun.com/show/7KHp777K
0

最新回复(0)