首页 > 试题广场 >

假定所有变量均已正确定义,则下列程序段运行后 x 的值是()

[单选题]
假定所有变量均已正确定义,则下列程序段运行后 x 的值是()
a = b = c = 0; x = 35;
if (!a) x--;
else if (b);
if (c) x = 3;
else x = 4;
printf("%d\n", x);


  • 3
  • 35
  • 34
  • 4
推荐
x=4
从上往下 首先执行!a那一行 x变为34
因为!a执行 所以else if不执行
再往下 if(c) 不执行 执行else x=4 所以最后x=4
条件判断里 如果是0则代表false 如果非0则代表true
编辑于 2019-11-28 14:24:28 回复(0)
C。这应该考察的是对条件选择语句的正确断句吧?
外层就是if...else if....else....,内层就是一个if...语句
if(!a)
    x--; //根据题目的赋值定义,x值变为34
else if(b) //此路不通,下面的嵌套选择语句也就没意义
        if(c)
          x=3;
else
    x=4;
    

发表于 2019-11-27 18:37:05 回复(2)
D
if(!a)//a=0,!a为true,执行接下来的自减操作
    x--; //x原为35,自减后变为34
else if(b); 
if(c)x=3;//c=0,为false,这部分不执行
else x=4;//执行后x=4



编辑于 2019-11-28 09:04:46 回复(1)
else if后面有个分号啊  ,不管else if的条件是真还是假都不会有事情发生的,然后第二个if的条件为假,执行else,就让x=4了
发表于 2023-02-22 11:39:27 回复(0)
    a = b = c = 1; x = 35;
    if (!a)
    {
        x--;    
    }
    else if (b)//没有分号时函数这样嵌套,
                //有分号时两个if属于并列执行
    {
        if (c)
            x = 3;
        else
            x = 4;
    }
    printf("%d\n", x);
发表于 2023-07-25 12:20:06 回复(0)
if(1)与if(2)是相互独立的 互不影响程序会依次判断条件1和条件2是否成立并根据结果决定是否执行语句1和语句2。 if (1)和 else if(2) 是互斥的, 即一旦语句1得到了执行,程序会跳过 else if 块, 若语句2执行则说明条件1判断失败和语句1没有执行 若条件1和2都判断失败 则均不执行
发表于 2022-05-18 18:45:46 回复(0)
else if(b);已经加了;所以后面的语句和else if(b)无关
发表于 2021-11-17 18:48:45 回复(0)
else if(b)后面有一个;,所以已经结束了。 再后续判断
发表于 2021-11-08 13:19:33 回复(0)
if函数的条件要求满足为真,所以执行结果为x=4
发表于 2019-12-14 22:48:14 回复(0)