下面程序的输出结果是( )。 #include<iostream> using namespace std; int main() { int a=2,b=-1,c=2; if(a<b)

admin2010-06-06  23

问题 下面程序的输出结果是(    )。    #include<iostream>    using namespace std;    int main()    {           int a=2,b=-1,c=2;       if(a<b)          if(b<0)              c=0;       else          c+=1;       cout<<c<<end1;       return 0;    }

选项 A、0
B、1
C、2
D、3

答案4

解析 本题常见的错误答案是:由于a>b(a=2,b=-1),所以程序进入else分支执行语句“c+=1;”,最后得到答案3。其实不然,本题考的知识点是else与if的配对问题。由于else关键词总是与它前面最近的未配对的且可见的那个if关键词配对,因此本题程序中的else是与第2个if配对。由于a>b(a=2,b=-1),那么第1个if分支后的语句就不再执行,从而输出c的值为2。
转载请注明原文地址:https://kaotiyun.com/show/Yrjp777K
0

最新回复(0)