A-A+
有以下程序 main(){ int a=3 b=4 c=5 d=2; if(a>B) if(
问题详情
有以下程序 main(){ int a=3,b=4,c=5,d=2; if(a>B) if(b>C) printf ("%d", d++ +1); else printf("%d", ++d +1); printf("%dn", D) ;} 程序运行后的输出结果是
A.2
B.3
C.43
D.44请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:本题考核的知识点是if-else语句的程序分析。我们首先看程序中if-else的匹配,由于C语言中规定else总是与最近的if搭配,因此程序中else与第二个订搭配,即该if-else语句为第一个if语句的执行部分,接着判断第一个if后面括号里的表达式的值“a>b”为假("3>4"为假),因此不执行后面if-else语句,程序将执行下面的输出语句输出d,而d一直未被改变故为原来的值2,所以,4个选项中选项A符合题意。