我在CODE::BLOCKS运行一下简单的C语言程序时出现了结果为0.000000的错误,不知为何,求请教。

C语言程序:
#include <stdio.h>
main()
{
const double PI=3.14159;
double r;
double s;
scanf("%3f",&r);
s=PI*r*r;
printf("%f",s);
}

double请使用%lf

float 才用的是%f追问

明白了,谢谢你哈!!!

追答

你看清楚

我的是小写的(L) l 不是 1

温馨提示:内容为网友见解,仅供参考
无其他回答

我在CODE::BLOCKS运行一下简单的C语言程序时出现了结果为0.000000的错 ...
double请使用%lf float 才用的是%f

C语言编程中,为什么运行结果总是为0.000000
printf("%lf,%lf\\n", x1, x2);&为取地址符,用在scanf的参数前,printf不用。还要注意当方程无根或一个根时,虚根变量会出现浮点数异常,printf便不会将其打印出来

c语言,我运行后结果怎么会是0.000000
因为1\/2=0,编译系统把它们当成int型进行计算,可以修改为:1.0\/2、1\/2.0、1.0\/2.0、(float)1\/2...都行,这样就可以得到正确结果了。祝学习愉快!

c语言代码输出为0.000000
在C语言中,可以通过浮点数的运算和格式化输出,得到结果为0.000000的输出。一、浮点数的运算 在C语言中,浮点数是用来表示小数的一种数据类型。为了得到输出结果为0.000000,首先需要进行涉及到浮点数运算的表达式计算。这个表达式的结果应该是一个非常接近零的浮点数。二、格式化输出 在C语言中,使用prin...

C语言问题---这个单位换算程序运行,结果是0.000000,用的是float。求解...
1. 您的单位换算程序中,单位换算的顺序可能存在问题。确保在进行任何计算之前,所有的单位都已经转换为同一类型(例如,全部转换为厘米)。2. 在C语言中,使用浮点数进行计算时,需要注意浮点数的表示范围和精度。如果计算结果为0.000000,这可能是因为数值太接近于0,超出了浮点数的表示范围。3. 您...

...着先一下这段C语言程序,为什么会打印出-0.000000,应该是一个合法的...
3)计算尾数值:原二进制数剩下的位数是:0b00000101000010001000000=0.0197 所以,float型数据为:0.0197*10^(-54)所以,printf出来的是0.000000 ……LZ运行一下:s->h[0]=0xCC;s->h[1]=0xCC;s->h[2]=0xDC;s->h[3]=0x40;printf("%2f\\n",s->f);运行结果是:6.900000 ...

c语言程序为什么运行就是得不出正确结果?
输入是合法的:3,4�此时不用逗号而用空格或其它字符是不对的。3 4� 3:4�其次,你要注意你输入的数据是否能构成三角形。(因为你程序中没处理)例如:请输入a,b,c:3,4,5 area=6.000000 Press any key to continue 但输入以下结果形式时:请输入a,b,c:3 4 ...

c语言基础(初学) 看看这个程序,分析一下,为什么会出现这个结果,谢谢
它也一样输出0.000000 要输出1.00000必须明确指定1是个float printf("%f",1.0);这样输出就是1.00000 至于用%d格式输出b也是0的情况,就是是编译器差异了,你的编译器可能是把int 1换成float,然后把转换后的float逻辑上截断赋值给b,那就是0了,我用vs2010,%d的输出是1,所以要尽量避免使用此类...

c语言中定义了整型数据但是输出的时候我把它调为浮点型,运行输出了不是...
printf("b=%f,a=%d\\n", (float)b, (int)a); 原因很简单,格式串中的 %f 要求对应的参数必须是浮点型,否则输出就不正确。你已经看到了,输出是 b=0.000000,不正确吧?整型数据调为浮点型必须使用 (float)b,而不是改一下格式串为 %f 就能做到的。

C语言程序定义函数过程中,数值返回错误。
can't be evaluated as 0! "); \/\/这个情况没有return elseprintf("\\nThe value is %f",a\/b);\/\/既然是函数,这应该用形参,(指针另说)return a\/b;}形参 实参 搞混了 函数里直接用的全局变量还不是函数的形参 还有 那个 printf("\\nThe value is %f",a\/b);...

相似回答