目录: 标题| 题干| 答案| 搜索| 相关
问题

有如下程序main() { int x=1,a=0,b=0; switch(


有如下程序main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A.a=2,b=1 B.a=1,b=1C.a=1,b=0 D.a=2,b=2

  • Aa=2,b=1
  • Ba=1,b=1
  • Ca=1,b=0
  • Da=2,b=2
参考答案
参考解析:

C语言规定case后面跟的必须是整型常量表达式。进入case后,如果没有遇到break语句就会一直往下执行,后面其他case或default分支的语句也会被执行到,直到遇到break,或者执行到整个switch语句块的末尾。题目中给出了三个case语句:case 0、case 1、case 2。当x为1时,从case 1语句开始执行,因为没有break语句,将一直执行到函数末尾结束,即执行case 1、case 2两条语句。执行完case 1时,a=1,b=0;执行完case 2时,a=2,b=1。

分类:其他
相关推荐

1、下面程序 main() { int x=100,a=10,b=20,okl=

下面程序 main() { int x=100,a=10,b=20,okl=5,ok2=0; if(a<B) if(b!=15) if(!ik1) x=1; else if(ok2)x=10; x=-1; printf("%d ",x); } 的输出是______。A-1B0C1D不确定的值

2、有如下程序#include "stdio.h"main(){ int a,b

有如下程序#include "stdio.h"main(){ int a,b,m; for(a=5;a>=1;a--) { m=0;  for(b=a;b<=5;b++)  m=m+a*b; } printf("%d\n",m);}上述程序的运行结果是A.30 B.15 C.20 D.10A30 B15 C20 D10

3、下面程序的输出结果是main{ int x=3 ,y=6,a=0; whil

下面程序的输出结果是main{ int x=3 ,y=6,a=0; while(x++!=(y-=1) ) { a+=1; if (y<x) break; } printf("x=%d,y=%d,a=%dn",x,y,a);}A.x=4,y=4,a=1 B.x=5,y=5,a=1 C.x=5,y=4,a=1 D.x=5,y=4,a=3Ax=4,y=4,a=1 Bx=5,y=5,a=1 Cx=5,y=4,a=1 Dx=5,y=4,a=3

4、以下程序的输出结果是( )。main{int x=0.5;char z=a;

以下程序的输出结果是( )。main{int x=0.5;char z=a;printf("%d\n",(x&1)&&(z<2));}A0B1C2D3

5、有如下程序main(){ int a=2,b=-1,c=2;if(a

有如下程序main(){ int a=2,b=-1,c=2;if(a A0B1C2D3

6、有如下程序 main() { int n[5]={0,0,0},i,k=2

有如下程序main(){int n[5]={0,0,0},i,k=2;for(i=0;iA不确定的值B2C1D0