若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果

#include<stdio.h>
main()
{
char c;
int v0=0 ,v1=0,v2=0;
do{
switch(c=getchar())

{
case'a': case'A':

case'e': case'E':

case'i': case'I':

case'o': case'O':

case'u': case'U': v1+=1;
default: v0+=1; v2+=1;
}
}while(c!='\n');
printf("vo=%d,v1=%d,v2=%d\n",v0,v1,v2);
}最后应该是v0=12,v1=4,v2=12吧为什么答案写的是v0=13,v1=4,v2=12???v0什么时候多加了一个1?

第1个回答  2011-02-25
答案有错误,
代码中
v0=0; v2=0;
default: v0+=1; v2+=1;
很明显最终: v0==v2本回答被提问者采纳
第2个回答  2013-03-21
原题中int v0=1,v1=0 ,v2=0; 而你写的是int v0=0 ,v1=0,v2=0;
第3个回答  2011-02-25
vc6运行结果
ADescriptor
vo=12,v1=4,v2=12
Press any key to continue
相似回答