编译错误- C:我如何四舍五入一个全局变量



我有代码

#include <stdio.h>
#include <math.h>
double x = round(3.2/2.0);
int main()
{
    printf("%f", x);
}
当我尝试编译时,我得到错误初始化器元素不是编译时常数。如果没有round,它可以顺利编译。

我想在将x作为全局变量时将其四舍五入。这可能吗?

在C语言中,具有静态存储时间的对象只能用整型常量表达式初始化。不允许在整型常量表达式中调用任何函数。

你必须找到一种方法通过一个整型常量表达式来生成你的值。像这样的操作可能会起作用

double x = (int) (3.2 / 2.0 + 0.5);

不能在全局作用域中调用函数,请尝试

#include <math.h>
double x;
int main(void) 
 {
    x = round(3.2 / 2.0);
    return 0;
 }

相关内容

  • 没有找到相关文章

最新更新