求助,C语言程序题

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:19:32
若变量都已正确说明,输入数据为: a University#,以下语句执行结果____

v1=0,v2=0;
while((ch=getchar())!='#')
switch(ch)
{case'a': case'A':
default: v1++;
case'e': case'E':
case'o': case'O':
case'i': case'I':
case'u': case'U': v2++;}
printf("%d%d\n",v1,v2);

最后结果是8,12

请高手指点程序是怎么运行的,v1等于8是怎么得到的。万分感谢

case 后面没有加break,所以 一个case语执行后,后面的语句都执行,

v1++ 语句执行的条件是ch不为e o i u 四个,其余都执行。所以为8.
v2++ 在最后,肯定执行,所以为12.

v1=a,空格,n,v,r,s,t,y.
可以在default:后面加入putchar(c);检验!