为什么输出显示“nan”

Bet体育365app下载 2025-09-23 00:12:41 作者: admin 阅读: 8215
为什么输出显示“nan”

在你的代码中,scanf函数的格式控制字符串中,%.6Lf是不合法的,应该改为%Lf。%.6Lf是用来指定浮点数的小数点后的位数的,但是scanf函数中不支持这种格式。

另外,当输入的a为0时,1/a会出现除0的情况,导致结果为NaN。你可以在输入a之后,加上对a是否为0的判断,如果a为0,则直接输出0.0000。

#include

int main(void)

{

long double a;

scanf("%Lf", &a);

if (a == 0) {

printf("0.0000");

} else {

a = 1 / a;

printf("%.3Lf", a);

}

return 0;

}

注意,在printf函数中,输出浮点数的小数点后的位数也要符合题目要求

相关推荐