请问一道c语言的题?

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:40:11
include<stdio.h>
void main(){
char ch;
int m=0,n=0;
do{
switch(ch=getchar()){
case 'a':
case 'e':
break;
case 'i':
case'o':
m++;
break;
default:
n++;
}while(ch!='\n');
printf("\nm=%d,n=%d",m,n);
}
在C语言中,执行上面的程序时,若输入"hello",则输出结果为()。(选择一项)
a) m=1,n=2
b) m=2,n=3
c) m=1,n=4
d) m=2,n=4
e) m=2,n=5
书上的答案是c,可是我不明白n的值怎么就是4了,请帮我解释一下,谢谢了

'h' n++
'l' n++
'l' n++
'\n' n++

所以 n = 4

对啊,在最后要注意"\n"都要执行n++的啊
还有在用switch的时候要注意有没有break

break不仅用于跳出循环
也用于跳出switch语句