C程序每次打印0.00000,但返回正确答案
我有一些非常简单的代码,我有问题。这个程序只是简单地以千克为单位计算某人的体重并显示出来。但是,每次运行时,打印的答案返回0.00000,但返回正确答案。有人看到我的代码有什么问题吗C程序每次打印0.00000,但返回正确答案,c,floating-point,printf,C,Floating Point,Printf,我有一些非常简单的代码,我有问题。这个程序只是简单地以千克为单位计算某人的体重并显示出来。但是,每次运行时,打印的答案返回0.00000,但返回正确答案。有人看到我的代码有什么问题吗 #include <stdio.h> #include <math.h> int main(void) { float w; float const wc=0.454; printf("Enter your weight in pounds "); sc
#include <stdio.h>
#include <math.h>
int main(void)
{
float w;
float const wc=0.454;
printf("Enter your weight in pounds ");
scanf("%f", &w);
float wk = w * wc;
printf("Your weight in kilograms is: %f", &wk);
return(wk);
}
#包括
#包括
内部主(空)
{
浮动w;
浮子常数wc=0.454;
printf(“以磅为单位输入您的体重”);
扫描频率(“%f”和“w”);
浮球wk=w*wc;
printf(“您的体重(千克)为:%f”,&wk);
返回(周);
}
打印值时,不需要将变量的地址作为参数传递给格式说明符。你需要改变
printf("Your weight in kilograms is: %f", &wk);
到
也就是说
scanf()
的返回值。如果没有该选项,则在scanf(“%f”和&w)的情况下代码>失败,您将调用,因为您将使用一个统一的局部变量float wk=w*wc代码>在浮动wk=w*wc代码>
return
看起来像函数。尽量坚持返回工作代码>
仅供参考:
main
函数的返回代码是程序的成功/失败指示器。一般来说,零被认为是成功的,小的正数被认为是失败的。编译器警告。启用并读取它们。检查返回值的方法是。。。(如果(扫描(事物)!=numOfThingsScaned){停止一切。})
printf("Your weight in kilograms is: %f", wk);