第11题,c语言if的嵌套有些不懂?为什么不是A呢?

如题所述

第1个回答  2016-10-26
注意嵌套if的对应
if(a<b)
if(b<0) c=0;

else c++;

以上语句是什么意思呢?
如果a<b为真,并且b<0为真,那么把0赋给c,如果a<b为真,b<0为假,那么执行c++
如果a<b为假,那么整个if语句都不会执行,直接执行最下面的printf语句,打印c的值。
因为a的值为3,b的值为-1,所以a<b为假,所以if不会执行,直接执行printf,打印c的值,即1,选择B本回答被网友采纳
第2个回答  2016-10-26
else匹配的是离它最近的if语句,在你的例子里是:
if(b<0) c=0;
else c++;
这个if是第一个if语句条件判断为真时执行。

由于第一个if(a<b)条件不满足,所以直接执行printf语句本回答被提问者采纳
第3个回答  2016-10-26
#include<stdio.h>
void main()
{
    int a=3,b=-1,c=1;
    if(a < b)
    {
        if(b < 0)
        {
            c = 0;
        }
        else
        {
            c++;
        }
    }
    printf("%d\n",c);
}
像这样添加括号就很明白了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网