rchg.net
当前位置:首页 >> C语言输出值为1.#R怎么回事 >>

C语言输出值为1.#R怎么回事

输入语句和计算语句的顺序反了。你应该先输入,再做计算 float r, h, s, v; scanf("%f %f, &r, &h); s = 2 * PI * r * h; v = PI * r *r *h;

这种输出可以理解为乱码了... 错误在第7行, i是一个float变量,你用%d去scanf会读错,应改为%f。

你好,你的r h在没有输入前,就对s v进行赋值,导致计算的结果不是一个有效数据。因为此时的r h的内容还是个随机内容,不一定是合理的数据。 浮点型非有效浮点数据就是1.ER这种显示 在scanf()函数后面加赋值,如下: scanf("5f %d", &r,&h ); s=...

当m=655360时,在i>46340后,i*i将大于int型能表达的最大数值,产生溢出问题,使得i*i值在截断为int时结果为0而出现“被0除”错误。可以这样改善,把sum=sum+(double)1/(i*i);改成sum=sum+(double)1/i/i;就能规避这个问题。

你的scanf输入不全 应该输入 a=1,b=6,c=3 回车就可以了

应当赋初值 double zhi=1.0;

凡是出现-1.#IND00.基本可以肯定是发生了除0错误。 比如k1=-1*(x2-x1)/(y2-y1); k2=-1*(x4-x3)/(y4-y3); e=(d-b+k1*a-k2*c)/(k1-k2); f=(k1*k2*(c-a)+k2*b-k1*d)/(k2-k1); 都可能发生。

#include #include double fun(int n) { double s=0;//s要初始化为0 int i; for(i=1;i

mktime(): 将时间转换为自1970年1月1日以来逝去时间的秒数,发生错误时返回-1. struct tm里面,tm_year以1900年为基准。 综上,中国所在时区为+8,mktime()的参数里面,tm.tm_year的最小值是70,同时tm.tm_hour的最小值是8,否则mktime都会出错。...

凡是出现-1.#IND00.基本可以肯定是发生了除0错误。 你这复杂的计算,看的人眼晕,自己加些调试语句查一下吧

网站首页 | 网站地图
All rights reserved Powered by www.rchg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com