输入hello# v1 和v2 的值为多少
#include<stdio.h>
int main()
{
int v1=0,v2=0;
char ch;
while((ch=getchar())!='#')
switch(ch)
{
case 'a':
case 'h':
default: v1++;
case 'o':v2++;
}
printf("%d,%d",v1,v2);
return 0;
}
请说明怎么推算的 急急急急!!!!!!
v2为什么等于5不等于1
追答hello,共5个字符,switch执行5次。
switch(ch)
{
case 'a':
case 'h':
default: v1++;
case 'o':v2++;
}
内部没有一个 break ;均是按顺序向下执行,不跳出。 只有字符‘o'特殊,直接跳过之前的语句,所以v1少加1. 字符为‘h'时,顺序往下执行,v1=1,v2=1. 之后的字符类似