v2+=1;
两句连在一起,也不加{},你真考验编译系统啊!!!
----------------解决方案--------------------------------------------------------
好的,谢谢大家。
其实我以前搞不懂的就是v0为什么不和v2相等。
现在知道了原来两者初值都不一样。太不细心了
真的学到了很多东西
----------------解决方案--------------------------------------------------------
where is "break"?
----------------解决方案--------------------------------------------------------
没有break;所有的case条件都被顺序执行了一次。
----------------解决方案--------------------------------------------------------
学习了~~~
----------------解决方案--------------------------------------------------------
加了break也至少要循环两次呀!怎么修改成输入A 只执行一次?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<conio.h>
main()
{
char c;
int v0=1,v1=0,v2=0;
c=getchar();
if(c!='\n')
{
switch(c)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':v1+=1;break;
default:{v0+=1;v2+=1;}
}
} //}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
getch();
}
怎么改成循环的?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<conio.h>
main()
{
char com;
int v0=1,v1=0,v2=0;
while((com=getchar())!='b')
{
printf(" %c\n ",com);
switch(com)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':v1+=1;break;
default:{v0+=1;v2+=1;}
}
}
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
getch();
}
输入的时候不要输入多余的空格或者回车,否则输出结果有错。
比如输入:asder 中间不能有空格或者回车,否则结果和预期不一样
----------------解决方案--------------------------------------------------------