鹿酸梅 发表于 2020-1-3 20:51:52

scanf处,请问这里输出的为什么是个负数;我感觉是整形和浮点型没理解清楚,请...

#include<stdio.h>
int main()
{
        float i ,result;
       
        printf("请输入华氏度:");
        scanf("%d",&i);
        result=(i-32)*5/9;
        printf("转化为摄氏度是:%.2f",result);
        return 0;
}

zltzlt 发表于 2020-1-3 20:52:52

??

图片不正确

人造人 发表于 2020-1-3 21:03:13

scanf("%d",&i);


scanf("%f",&i);

4goodworld 发表于 2020-1-3 22:16:24

scanf("%f", &i);

鹿酸梅 发表于 2020-1-4 11:59:59

zltzlt 发表于 2020-1-3 20:52
??

图片不正确

图片上传错了,不好意思

鹿酸梅 发表于 2020-1-4 12:05:34

人造人 发表于 2020-1-3 21:03


谢谢。我现在知道是要用%f,但是想不通用%d为什么是这个结果?

鹿酸梅 发表于 2020-1-4 12:14:24

鹿酸梅 发表于 2020-1-4 12:05
谢谢。我现在知道是要用%f,但是想不通用%d为什么是这个结果?

可不可以理解成,浮点型这里如果强制转换成整型,就是错误的结果

人造人 发表于 2020-1-4 12:22:36

鹿酸梅 发表于 2020-1-4 12:05
谢谢。我现在知道是要用%f,但是想不通用%d为什么是这个结果?

你现在就简单的认为是用错格式了,就行了,现在还不是探索原理的时候
要不先看一看浮点数的存储格式?https://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html

所以说,现在就简单的认为是用错格式了,就行了,等到你学到更多的知识后,才有可能去寻找这些东西背后的原理

同不同意?如果不同意,那就先看懂了上面的那篇文章,要解释这个现象需要上面的那篇文章中提到的东西

鹿酸梅 发表于 2020-1-4 17:19:48

人造人 发表于 2020-1-4 12:22
你现在就简单的认为是用错格式了,就行了,现在还不是探索原理的时候
要不先看一看浮点数的存储格式?ht ...

同意,谢谢大佬

pyt2020 发表于 2020-1-7 11:38:11

iio'
页: [1]
查看完整版本: scanf处,请问这里输出的为什么是个负数;我感觉是整形和浮点型没理解清楚,请...