鱼C论坛

 找回密码
 立即注册
查看: 2827|回复: 2

[已解决]S1E15课后习题求助(我找不出和答案的不同之处但是我的运行后会死机)

[复制链接]
发表于 2021-7-11 17:57:46 | 显示全部楼层 |阅读模式
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;
}
最佳答案
2021-7-11 17:57:47
狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了

而下面的代码的ch却是循环赋值

最佳答案

查看完整内容

狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了 而下面的代码的ch却是循环赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-11 17:57:47 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了

而下面的代码的ch却是循环赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-11 18:08:43 | 显示全部楼层
wp231957 发表于 2021-7-11 17:57
狠简单,你的ch仅仅赋值一次,所以下面的虚拟基本上就是死循环了

而下面的代码的ch却是循环赋值

哦哦while里面的赋值也参与了下面的循环谢谢哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-8 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表