首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <stdio.h> main() { int x=1, y=0, a=0, b=0; switch (x) { case 1: switch(y) { case 0: a++;
有以下程序: #include <stdio.h> main() { int x=1, y=0, a=0, b=0; switch (x) { case 1: switch(y) { case 0: a++;
admin
2021-07-09
35
问题
有以下程序:
#include <stdio.h>
main()
{ int x=1, y=0, a=0, b=0;
switch (x)
{ case 1:
switch(y)
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break;
case 3: a++; b++;
}
printf("a=%d, b=%d\n", a, b);
}
程序的运行结果是( )。
选项
A、a=2,b=2
B、a=2,b=1
C、a=1,b=1
D、a=1,b=0
答案
B
解析
case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case 2语句的a++;b++;a为2,b为1。所以结果为B)。
转载请注明原文地址:https://kaotiyun.com/show/tetp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includemain(){inta=3:a+=a一=a*a:prinff(“%d\n”,a);}程序的输出结果是()。
有以下程序main(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k)
有以下程序#includemain(){inta,b;for(a=1,b=1;a=20)break;if(b%3==1){b=b+3;continue;}b=b-5;}printf("%d\n",a);}程序
有下列程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i
关于C语言的变量名,以下叙述正确的是()。
下列叙述中正确的是
以下定义语句中正确的是
下面结构体的定义语句中,错误的是
下列给定程序中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文
随机试题
关于管网气体灭火系统的控制方案,正确的有()。
在Windows操作系统中,中、西文输人法之间的切换可命令。
在征询客户需求时,不宜采用()问题。
在银行为国际贸易提供的支付结算方式中,通常用()。
新文化运动兴起的标志是()。
B
visa
Therearemanymedicalproblemsinthemodernsociety.Oneofthemostalarmingmedicalproblemsintheworldisa【21】______dise
LookatthestatementsbelowandtheadvicetobusinessesontheoppositepageaboutusingothercompaniestoruntheirITservi
Readthearticleabouttheinterviewperformancebelow.ChoosethecorrectwordtofilleachgapfromA,BorC.Foreac
最新回复
(
0
)