|
2鱼币
我的代码运行后输入字符敲回车后会死机
这是我的代码。答案的在下面
- #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却是循环赋值
|
最佳答案
查看完整内容
狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了
而下面的代码的ch却是循环赋值
|