gpt4 book ai didi

C 常量抛出编译时错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:13 24 4
gpt4 key购买 nike

这里有几个人评论我的 C 代码,说我应该使用常量作为循环计数器,而不是硬写它们。我同意他们的看法,因为这是我编写 Java 代码时的做法,但是当我尝试在数组声明和循环条件中使用常量时,会抛出编译时错误。

要在 C 中声明常量,语法是#define NAME value

在我的代码中,我有两个常量,BUFFER 是文件读取缓冲区,PACKED 是输出数组大小。

我使用 BUFFERchar inputBuffer[BUFFER]; 初始化为全局变量,这有效,但是当我尝试使用 PACKED

#define PACKED    7; // this line is in the header of file, just below preprocessors
int packedCount;
char inputPack[PACKED]; //compression storage
for (packedCount=0; packedCount<= PACKED; packedCount++){

我在 char inputPack[PACKED]
处得到了 error: expected ‘]’ before ‘;’ token 错误:循环初始化行中“;”标记之前的预期表达式。当我将 PACKED 替换为 7 时,这两个错误都消失了。

最佳答案

您显然没有完全按照源文件中显示的那样发布代码。

至少,您在 char inputPack[PACKED] 之后缺少分号。

我强烈怀疑你的真实来源在宏声明的末尾有一个分号,这会导致错误。宏定义不应以分号结束。

关于C 常量抛出编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204123/

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