我的代码运行后输入字符敲回车后会死机
这是我的代码。答案的在下面#include<stdio.h>
int main()
{
char ch;
int a,e,i,o,u;
ch=getchar();
while(ch!='\n')
{
a=0;e=0;i=0;o=0;u=0;
switch(ch)
{
case 'a':
case 'A':a++;break;
case 'e':
case 'E':e++;break;
case 'i':
case 'I':i++;break;
case 'o':
case 'O':o++;break;
case 'u':
case 'U':u++;break;
}
}
printf("a %d\ne %d\ni %d\no %d\nu %d\n",a,e,i,o,u);
return 0;
}
这是答案#include <stdio.h>
int main()
{
char ch;
int a, e, i, o, u;
a = 0;
e = 0;
i = 0;
o = 0;
u = 0;
while ((ch = getchar()) != '\n')
{
switch (ch)
{
case 'a':
case 'A': a++;
break;
case 'e':
case 'E': e++;
break;
case 'i':
case 'I': i++;
break;
case 'o':
case 'O': o++;
break;
case 'u':
case 'U': u++;
break;
}
}
printf("您输入的句子中,包含元音字母%d个!\n", a + e + i + o + u);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n", a, e, i, o, u);
return 0;
}
狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了
而下面的代码的ch却是循环赋值
|