鱼C论坛

 找回密码
 立即注册
查看: 1654|回复: 3

[已解决]为什么程序会失败

[复制链接]
发表于 2020-2-1 21:06:20 | 显示全部楼层 |阅读模式
5鱼币
为什么数值范围的编程失败了
最佳答案
2020-2-1 21:06:21
#include <stdio.h>

int main()
{
        int ch;
        double num = 0;
        
        printf("请输入待转换的字符 : ");
        
        do
        {
                ch = getchar();
                
                if (ch >= '0' && ch <= '9')
                {
                        num = 10 * num + (ch - '0');
                }
    }
        while (ch != '\n');
        if(num > 2147483647)
        {
                printf("数值超出范围");
                }
                else if(!num)
                {
                        printf("未找到任何数值");
                }
                else
                {
                        printf("结果是:%lf\n", num);
                }
    
        
        
        return 0;
}
360截图20200201210732524.jpg
360截图20200201210739484.jpg
360截图20200201210829318.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-1 21:06:21 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>

int main()
{
        int ch;
        double num = 0;
        
        printf("请输入待转换的字符 : ");
        
        do
        {
                ch = getchar();
                
                if (ch >= '0' && ch <= '9')
                {
                        num = 10 * num + (ch - '0');
                }
    }
        while (ch != '\n');
        if(num > 2147483647)
        {
                printf("数值超出范围");
                }
                else if(!num)
                {
                        printf("未找到任何数值");
                }
                else
                {
                        printf("结果是:%lf\n", num);
                }
    
        
        
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-1 21:29:14 | 显示全部楼层
发代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-1 21:51:02 | 显示全部楼层

#include <stdio.h>

int main()
{
        int ch;
        int num = 0;
       
        printf("请输入待转换的字符 : ");
       
        do
        {
                ch = getchar();
               
                if (ch >= '0' && ch <= '9')
                {
                        num = 10 * num + (ch - '0');
                }
               
                else
                {
                        if(num)
                        {
                                break;
                        }
            }
    }
        while (ch != '\n');
        if(num > 2147483647)
        {
                printf("数值超出范围");
                }
                else if(!num)
                {
                        printf("未找到任何数值");
                }
                else
                {
                        printf("结果是:%d\n", num);
                }
   
       
       
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 05:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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