int main(void) {
float a;
scanf("%f", &a);
double c = sqrt(a);
printf("%f", c);
return 0;
}
浮点变量导致输出正确。 但是,在将数据类型更改为double结果时,NaN。
答案 0 :(得分:1)
您应该使用格式说明符%lf
来接收double
。
#include<stdio.h>
#include<math.h>
int main(void) {
double a;
scanf("%lf", &a);
double c = sqrt(a);
printf("%lf", c); //printf("%f", c) also works perfectly.
return 0;
}
由于您可能只使用%f
,因此您获得了NaN。