當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()'添加一個調用,你將需要''。) –