c - 我需要帮助在简单的 C 代码中声明参数

标签 c parameters

我写了一个非常简单的 C 程序;它是 main.c constants.cconstants.h

这是main.c

#include <stdio.h>
#include <stdlib.h>
#include "constants.h"

int main(){
printf("a=%f\n",a);
return 0;
}

这是constants.c

#include "constants.h"
float a = 1.0;
float b = 3.0;
float c = a + b;

这是constants.h

extern float a;
extern float b;
extern float c;

在我尝试用 gcc 编译它之后,我得到以下错误:

error: initializer element is not constant
float c = a + b;

我在 Internet 上阅读了收到该消息的原因,但我找不到任何实际的解决方案;我的目标是通过保持代码结构(3 个文件)来获得 c = a + b;谁能告诉我应该怎么做才能实现我的目标?

我忘了提一件重要的事情:我不能使用#define作为可能的解决方案

最佳答案

#define A 1.0
#define B 3.0

float a = A;
float b = B;
float c = A+B;

关于c - 我需要帮助在简单的 C 代码中声明参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569028/

相关文章:

c - 如何解决 "msgget: No space left on device"错误?

c - 将一个字符数组拆分为字符数组数组时,第一个数组始终显示为随机字符

C:静态结构

delphi - 如何根据触发事件处理程序的 TAction 来更改其行为?

c# - 检查某些函数参数数据类型是否由于在 C# 上的编译而相等

Python EasyGUI - 整数框限制

管道的 C/Unix 编程问题

c - 如何制作 3D 面具

ASP.NET 使用response.redirect传递参数而不显示在url中

c++ - << 具有多个参数的运算符