sophisticated 发表于 2019-1-10 10:13:26

C语言课后题求助

#include <stdio.h>

int main()
{
        float fah, cel;
       
        printf("请输入华氏度:");
       
        scanf("%f", &fah);
       
        cel = (fah - 32) / 1.8;
        printf("相对应的摄氏度是:%.2f ", cel);
       
        return 0;
       
       
}

上述代码第9行,将%f改为%.2f后,输出的结果变成负值,求大佬指点{:5_111:}

llugg 发表于 2019-1-10 10:41:23

并没有出现你说的那种问题.....

BngThea 发表于 2019-1-10 11:00:47

scanf不支持 这个格式化操作

boqianlv 发表于 2019-1-10 11:48:41

scanf里面不要出现%.2f这种操作,格式修饰符修饰的是输出,不是输入,这里你用%f就好,如果加了.2f什么的可能不同编译器会出现不同问题。
把格式修饰符加在printf里就好。

sophisticated 发表于 2019-1-10 14:53:49

llugg 发表于 2019-1-10 10:41
并没有出现你说的那种问题.....

第9行的%f你没改成%.2f啊{:10_245:}

sophisticated 发表于 2019-1-10 14:54:45

BngThea 发表于 2019-1-10 11:00
scanf不支持 这个格式化操作

感谢{:5_109:}

sophisticated 发表于 2019-1-10 14:55:26

boqianlv 发表于 2019-1-10 11:48
scanf里面不要出现%.2f这种操作,格式修饰符修饰的是输出,不是输入,这里你用%f就好,如果加了.2f什么的可 ...

感谢{:5_109:}

sophisticated 发表于 2019-1-10 14:58:42

boqianlv 发表于 2019-1-10 11:48
scanf里面不要出现%.2f这种操作,格式修饰符修饰的是输出,不是输入,这里你用%f就好,如果加了.2f什么的可 ...

BngThea先回答的,我就把他设为最佳答案了,不好意思,感谢您的指点{:5_106:}
页: [1]
查看完整版本: C语言课后题求助