【发布时间】:2021-05-15 16:46:32
【问题描述】:
所以我仍在使用 C 进行训练,但在练习函数时发现了一个不寻常的结果。
#include <stdio.h>
#include <math.h>
void main()
{
printf("Input any number for square : ");
double X;
scanf("%f", &X);
double square(double X);
double n=square(X);
printf("The square of %f %f:", X, n);
}
double square(double X)
{
return (pow(X,2));
}
这是输出:
输入任意数为平方:21 0.000000 0.000000 的平方:
所以,我不明白为什么它在编译完全正常并且语义看起来连贯的情况下返回零。 如果您不深入了解,我将不胜感激,因为我认为它可以简单地解释(我还是很新的^^')
【问题讨论】:
-
请不要图片。将代码/输出作为文本发布。
-
使用
%lf而不是%d。 -
@Ghassen:这不是重点。 Images of code are not permitted.
-
对于
double,您必须使用%lf,而不是%f。 -
打开你的编译警告,你的编译器可能会告诉你格式说明符错误,以及
void main()。