C语言defalut语句

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:34:16
5.有以下程序
void main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
}
程序运行后的输出结果是( )
(A) 022111 (B) 021021 (C) 000122 (D) 012

选什么 why

switch(i)
{ case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
switch语句中没有break就会从符合条件处开始依次执行 .
0 :0,2,default--000
1:default--1
2:2,default--22

选c
因为没有default语句,所以当判断为真时就顺序执行下面的语句

如果变成
case 0:{printf("%d",i);break; }
case 2::{printf("%d",i);break; }
default:printf("%d",i);

就是d了

选C
每个case后都没有break;所以,无论那个符合条件的case执行之后会继续执行下面的语句printf("%d",i);
i=0;时输出3个0。
i=1;时执行default:printf("%d",i); 输出1
i=2;时执行下面两句输出两个2

ok?

000122

选C.

注意,这里没有break语句.当跳到那一行执行完后,会继续执行后面的行.