【发布时间】:2023-03-18 14:54:01
【问题描述】:
目的:
如果用户输入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
-
你不能使用 "%d" 作为浮点数。
-
@EdHeal:也使用
-Wall(或等效项,取决于编译器)进行编译。 GCC-Wall会发现a=0和%d错误。 -
"指令(我们老师提供的)有这样的代码,我看不懂。" --> 问老师。否则你没有“老师”。
-
另外,请修正
Enter的拼写
标签: c if-statement input