首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手问 ceil() 函数的有关问题

2013-04-26 
新手问 ceil() 函数的问题#include iostream#includecmathusing namespace stdint main(){printf(%d

新手问 ceil() 函数的问题


#include <iostream>
#include<cmath>
using namespace std;
int main()
{
    printf("%d\n",ceil(2.52));
    return 0;
}



这 个结果为什么是0,而不3啊
[解决办法]
ceil计算的结果没有问题 是 %d导致的
[解决办法]
CEIL函数原型 double ceil(double x);
输出的时候就不能用%d了。应该用%f
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
    printf("%.0f\n",ceil(2.52));
    return 0;
}

[解决办法]

#include <iostream>
#include<cmath>
using namespace std;
int main()
{
    int rtval = ceil(2.52);
    printf("%d\n", rtval);
    return 0;
}

ceil();函数返回值为double类型,可以使用int强制截断整数部分。不过,最好使用double类型作为其返回值。
[解决办法]
printf中格式说明符要和参数类型一致。

[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

热点排行