为什么跳出选择结构
陈亦杰 核心会员 2016-12-16 11:04:09
768 3 0

!a为假,执行else。a==0为假,跳出选择结构。   为什么跳出选择结构 而不是进行第三个else b+=

问题来自: 嵌套的if语句
有以下程序
#include <stdio.h>
main()
{
  int a=1,b=0;
  if(!a) b++;
  else if(a==0) if(a) b+=2;
  else b+=3;
  printf("%d\n",b);
}
程序运行后的输出结果是 ______ 。
A. 0
B. 1
C. 2
D. 3
答案:A
解析:将程序中的if语句重新排版如下: if(!a) b++; else { if(a==0) { if(a) b+=2; else b+=3; } } a=1,所以!a为假,执行else。a==0为假,跳出选择结构。b自始至终并没有被赋值。因此选A。

共 3 个回答

    陈亦杰 核心会员 1329天前

    第三个else和 ifa==o 配套  不符合 跳出

    陈亦杰 核心会员 1329天前

    不符合if里面的条件a==0   不是应该执行else吗  

    初一 人气新星 助教 1328天前

    第三个else  不是和if(a==o) 配套的 它和if(a)配套     如果 if(a==o) 后面不是if的话 才执行最后那个else

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题