当GNU编译器在无限值上打印inf
时,我可以将其更改为不同的输出吗?gcc中的无穷大值
#include<stdio.h>
{
float runs = 40.0;
float wickets = 0.0;
printf("Average = %.2f(/*This is the place where I want to print NA
instead of inf*/)", runs/wickets);
return 0;
}
当GNU编译器在无限值上打印inf
时,我可以将其更改为不同的输出吗?gcc中的无穷大值
#include<stdio.h>
{
float runs = 40.0;
float wickets = 0.0;
printf("Average = %.2f(/*This is the place where I want to print NA
instead of inf*/)", runs/wickets);
return 0;
}
您无法更改无限值如何打印。但是你可以检查它并采取相应的行动。
double avg = runs/wickets;
if (isinf(avg)) {
printf("Average = NA\n");
} else {
printf("Average = %.2f\n", avg);
}
但是这个宏在fprintf中使用时不能正常工作。我无法弄清楚错误:(@dbush –
“工作不正常”并不意味着什么*它如何工作?显示一些代码,包括您的尝试,预期输出和实际输出 – dbush
@ shehan_sr:既然你已经接受了答案,我想你已经找出了问题,不管它是什么。 –
自己写的函数打印.. –
仅供参考,你不需要''对于这一点,因为你不调用任何在头部声明浮点功能。 '/'除法运算符是内置于语言中的,不需要声明。 (但是如果你给'isinf()'添加一个调用,你将需要''。) –