目的:檢查用戶輸入()
如果用戶輸入b
是float
打印張數floor(b), round(b), ceil(b)
。
其他打印scanf error: (%d)\n
。
這裏是我的代碼: `
#include <stdio.h>
#include <math.h>
int main(void) {
float b;
printf("Eneter a float number");
int a=0;
a=5;
a=scanf("%d", &b);
if (a=0)
{
printf("scanf error: (%d)\n",a);
}
else
{
printf("%g %g %g",floor(b), round(b), ceil(b));
}
return 0
}
也許讀這可能有助於 - [man scanf](https://linux.die.net/man/3/scanf) –
您不能使用「%d」作爲浮點數。 – stark
@EdHeal:也可以用'-Wall'編譯(或者等價的,取決於編譯器)。 GCC'-Wall'會挑出'a = 0'和'%d'錯誤。 –