gpt4 book ai didi

C 枚举程序一年中的月份未编译

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:39 25 4
gpt4 key购买 nike

我从我的教科书上得到了下面的代码示例,但它仍然没有编译。

我在 printf 行上收到一个错误,上面写着 Unary '++': 'months;未定义此运算符或转换为预定义运算符可接受的类型

我不知道该怎么做,因为这是我第一次尝试枚举,而这正是书中的示例代码。有什么问题吗?

// Fig. 10.18: fig10_18.c
// Using an enumeration

#include <stdio.h>

// enumeration constants represent months of the year
enum months {
JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
};

int main(void) {
// initialize array of pointers
const char *monthName[] = { "", "January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December"
};

// loop through months
for (enum months month = JAN; month <= DEC; ++month) {
printf("%2d%11s\n", month, monthName[month]);
}
}

最佳答案

你所做的在 C 中是正确的,但在 C++ 中是错误的。

您必须使用 C 编译器而不是 C++ 编译器。

您可以尝试使用 -x c 命令行选项告诉 C++ 编译器将源文件编译为 C 代码。

关于C 枚举程序一年中的月份未编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55540402/

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