找回密码
 注册
查看: 640|回复: 2

恭贺新禧,问个问题

[复制链接]
发表于 2003-1-31 10:01:31 | 显示全部楼层 |阅读模式
#include<math.h>
#include<stdio.h>

int main()
{
  double a=10.5;
  double b=round(a);
  printf("a=%lf, b=%lf\n",a,b);
  return 0;
}

在我的rh8.0上编译运行结果为:
a=10.500000, b=65536.000000

怎么回事,这个round()函数不是四舍五入吗?还是我的代码有问题?
发表于 2003-1-31 12:23:43 | 显示全部楼层
试试这样子:

[code:1]#include <math.h>
#include <studio.h>

int main()
{
     double a = 10.5;
     double b;
     double round(a);

     b = round(a);

     printf("a=%lg, b=%lg\n",a,b);
     return 0;
}[/code:1]
回复

使用道具 举报

 楼主| 发表于 2003-2-1 13:45:46 | 显示全部楼层
改成这样就对了:

#include <math.h>
#include <stdio.h>

int main()
{
     double a = 10.5;
     double b;
     double round(double);

     b = round(a);

     printf("a=%lf, b=%lf\n",a,b);
     return 0;
}

但是为什么自己要加声明? round(3) 里说它的函数原型
double round(double x) 已经在math.h里面声明了啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-25 22:03 , Processed in 0.033533 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表