【发布时间】:2020-10-19 13:38:02
【问题描述】:
我是 C 语言的新手,我正在尝试制作一个能够获取十进制数并打印出最接近该十进制数的程序,但是,当我尝试运行该程序时,它只询问我十进制数,仅此而已。
# include<stdio.h>
int main()
{
float num;
printf("Enter a double number: ");
scanf("%d", num);
int r=0;
if(num<0)
{
r=r+num-0.5;
}
else
{
r=r+num+0.5;
}
printf("The closest integer to %d: %d", num, r);
return 0;
}
如果您能帮助我找到我的程序存在的问题,我将不胜感激。谢谢!
【问题讨论】:
-
请注意编译器警告:
scanf("%d", num);应该是scanf("%f", &num);然后在printf()中,您再次使用%d但传递了float。