gpt4 book ai didi

c - 为什么下面的代码中 ceil 返回 0.000?

转载 作者:行者123 更新时间:2023-11-30 20:24:59 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<math.h>
int main()
{
float i = 2.5;
printf("%d, %f", floor(i), ceil(i));
return 0;
}

尽管我在 printf() 中对 ceil 使用了 %f 说明符,但它打印的是 0.000000。为什么会这样?

最佳答案

floor的返回类型是一个 float (在本例中是double)。使用 "%d" 传递它会产生未定义的行为

您需要使用%f格式说明符。例如,

#include <stdio.h>
#include<math.h>
int main()
{
float i = 2.5;
printf("%f, %f", floor(i), ceil(i));
return 0;
}

输出

2.000000, 3.000000

关于c - 为什么下面的代码中 ceil 返回 0.000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31469074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com