| 
 | 
 
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却是循环赋值 
 
 
 
 
 
 
 |