鱼C论坛

 找回密码
 立即注册
查看: 4544|回复: 7

同学们! -1.#R 是什么意思?以及为什么会输出这个?

[复制链接]
回帖奖励 4 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次(中奖概率 50%)
发表于 2022-10-20 16:03:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
以下代码目的:输入一个形式如“操作数 运算符 操作数”的表达式,对2个整数进行乘、除或求余运算。

出问题行在:case '/':printf("%f/%f=%.2f\n",a,b,(float)a/b);

我想知道:-1.#R 是什么意思?以及为什么会输出这个?

#include <stdio.h>
int main()
{
        char ch;
        int a,b;
        printf("操作数 运算符 操作数: ");
        scanf("%d%c%d",&a,&ch,&b);
       
        switch(ch){
                case '*':printf("%d*%d=%d",a,b,a*b);break;
                case '/':printf("%f/%f=%.2f\n",a,b,(float)a/b);
                                   printf("%.2f",(float)a/b);break;
                case '%':printf("%d%%%d=%d",a,b,a%b);break;
        }
}

-1.#R.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-20 16:20:15 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-20 16:21 编辑

         没别的,一切的原因是,你用 %f 显示了一个整型数
#include <stdio.h>
int main()
{
        char ch   ;
        int a,b   ;
        printf("操作数 运算符 操作数: ");
        scanf("%d%c%d",&a,&ch,&b);
        
        switch(ch){
                case '*':printf("%d*%d=%d",a,b,a*b);break;
                case '/':printf("%d/%d=%.2f\n",a,b,(float)a/b);     // 这里有修改,把 "%f/%f=%.2f" 改为 "%d/%d=%.2f"  世界就太平了
                                   printf("%.2f", (float)a/b) ; break;
                case '%':printf("%d%%%d=%d",a,b,a%b);break;
        }
}

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
竹逸 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-20 18:27:03 | 显示全部楼层
jackz007 发表于 2022-10-20 16:20
没别的,一切的原因是,你用 %f 显示了一个整型数

%.2f 对应的不是(float)a/b?
为什么这一项不能正常输出?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-20 18:33:08 | 显示全部楼层
未被驯化的甲鱼 发表于 2022-10-20 18:27
%.2f 对应的不是(float)a/b?
为什么这一项不能正常输出?

         编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

D:\[00.Exerciese.2022]\C>x
操作数 运算符 操作数: 1/2
1/2=0.50
0.50
D:\[00.Exerciese.2022]\C>
         难道这个结果还没有正常输出?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-21 06:51:12 | 显示全部楼层

回帖奖励 +1 鱼币

会不会是读入的原因?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-22 15:16:04 | 显示全部楼层
jackz007 发表于 2022-10-20 18:33
编译、运行实况:

         难道这个结果还没有正常输出?

不是,我输出的是 -1.#R
你直接复制我的代码运行试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-22 15:19:16 | 显示全部楼层
未被驯化的甲鱼 发表于 2022-10-22 15:16
不是,我输出的是 -1.#R
你直接复制我的代码运行试试?


        我贴了一份修改过的代码在 2 楼,我让你编译运行的是它!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-22 15:19:21 | 显示全部楼层
jackz007 发表于 2022-10-20 18:33
编译、运行实况:

         难道这个结果还没有正常输出?

c-free5输出不行
我用vs code又可以了
不知道为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 11:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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