爱睡懒觉滴喵 发表于 2019-9-15 23:52:33

求解这个代码结果为啥是负数

#include<stdio.h>
int main()
{
float M,G,T,A,S,r,h;
scanf("%f",&r);                                                               
M=3.14*r*2.0;                  
printf("%f\n",M);
return 0;
}

jackz007 发表于 2019-9-16 01:15:05

      怎么可能是负数?

      给出你的实际样例,就是说,你键入的 r 是多少,算出的 M 是多少?

bin554385863 发表于 2019-9-16 04:29:41

jackz007 发表于 2019-9-16 01:15
怎么可能是负数?

      给出你的实际样例,就是说,你键入的 r 是多少,算出的 M 是多少?

除非数字溢出→_→

huanzhilian 发表于 2019-9-16 06:38:24

%f换成%lf再试试

cxyxzq 发表于 2019-9-16 15:40:52

把scanf(),改成scanf_s()就可以了。

雷蛇 发表于 2019-9-16 17:38:40

{:10_249:}

ijy 发表于 2019-9-17 02:18:22

有可能是输入的r值是负数,造成结果是负数

爱睡懒觉滴喵 发表于 2019-9-21 23:44:06

r=1.5
页: [1]
查看完整版本: 求解这个代码结果为啥是负数