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

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

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

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

scanf("%if%if%if%if",&x1,&y1,&x2,&y2) ;应该是lf不是if scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2) ;

pow的原型是double或float的,所以有时候有误差 Input a,n: 2 3 199,pow:99 219,pow:10 221,pow:1 --221 20,pow:10 22,pow:1 --22 2,pow:1 --2 s=245请按任意键继续. . . ———————— 这里的你可以直接自己乘下就行 #include #include int main(voi...

这个不是返回值。。。。 #pragma comment(lib, "WINMM.LIB")vc才可以的,你用的什么编译器?

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

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

额,你的第一个循环里面,q=0。。。,然后你还让它做了分母,要是运行结果是你想要的,那才是见鬼了呢。望采纳,谢谢。

用switch语句 switch(a){ case 0: { puts(不是); breaK; }

请不要纠结这种问题,也不要在意输出的结果,因为: 此种语句的运算顺序是由具体的编译器来决定的,换句话说,这种语句是不可移植的,可能在A编译器中编译运行结果为一个数,在B编译器中编译运行结果又为另一个数。

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