一道C语言的题
main()
{ char k; int i;
for(i=1;i<3;i++)
{ scanf("%c", &k);
switch(k)
{ case '0':printf("another\n");
case '1':printf("number\n");}
}
}
请问当从键盘上输入01回车时,结果是多少。请给出理由。谢谢了!
当你输入01回车后输出
another
number
number
因为:第一次scanf接孙咐收0,则执行case '则念纯0':printf("another\n");后由于没有break而继续执行
case '1':printf("number\高键n"),所输出了
another
number
接着由for循环再次使scanf接收1,这次只执行case '1':printf("number\n"),又输出
number。故得以上输出结果。
for循环两次
scanf接收两次输入 并 赋值给k
swich接受k 由碰运纯case判断执行
如果为0 则执行
case ‘0’ 输出another
1则同笑咐理
case ‘1’输出number
结果为
0
another
1
number
明白吗悄颂?
anothernumber numbercase没有break会从输入值一直向下执中卖行代码,当搏培雹输入0时,基帆打印another number!当输入1时打印number。
another number number case语句之间慎行没有break语句来终止此次switch时脊孝蠢,就会从第一个满足条件的case语句后依次执行。题中樱陪若k为0则执行两个case,若为1则只执行第二个case。