鱼C论坛

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

[已解决]求助各位大佬们

[复制链接]
发表于 2021-10-5 19:40:46 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>

int main()
{
        float a,b,c,sum;
        a=1;
        b=0.5;
        c=1/3;
       
        sum=a+b+c;
        printf("结果是:%.2f",sum);
       
}
为什么sum是1.50而不是1.83;怎么样求得到1/3的值?
最佳答案
2021-10-5 19:44:18
1.0 / 3
或者
1 / 3.0
或者
1.0 / 3.0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-5 19:44:08 | 显示全部楼层
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         float a,b,c,sum;
  5.         a=1;
  6.         b=0.5;
  7.         c=1.0/3.0;
  8.       
  9.         sum=a+b+c;
  10.         printf("结果是:%.2f",sum);
  11.       
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 19:44:18 | 显示全部楼层    本楼为最佳答案   
1.0 / 3
或者
1 / 3.0
或者
1.0 / 3.0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 19:45:58 | 显示全部楼层
1/3 在编译器看来你是要将两个整型相除,结果小于一直接就向下取整成0了
所以结果是1 + 0.5 +0

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 19:46:54 | 显示全部楼层
其实只要 其中一方为浮点数就可以了,会隐式转换成两浮点数相除
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 20:03:33 | 显示全部楼层

谢谢了(*^_^*)&#128536;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-5 20:04:28 | 显示全部楼层

谢谢了(*^_^*)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 20:05:26 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-10-5 20:07 编辑

整数/整数 = 整数
浮点数/整数 = 浮点数
浮点数/浮点数 = 浮点数
范例:
  1. #include <stdio.h>

  2. int main(){
  3.     float num;
  4.     num = 1/3; // 这里整数/整数 = 整数,然后赋值于num变成浮点(1/3 = 0,num = 0.00)
  5.     printf("%.2f", num);
  6.     return 0;
  7. }
复制代码
  1. 0.00
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 15:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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