新手问 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代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。