gpt4 book ai didi

c - C中数组中的关键字

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

我在将关键字放入数组时遇到问题。这是我的数组:

char keywords [] = {'auto', 'break', 'case', 'char', 'continue', 'do', 'default', 'const', 'double', 'else', 'enum', 'extern', 'for', 'if', 'goto', 'float', 'int', 'long', 'register', 'return', 'signed', 'static', 'sizeof', 'short', 'struct', 'switch', 'typedef', 'union', 'void', 'while', 'volatile', 'unsigned'};

但是每当我运行我的程序时,我都会得到

warning: overflow in implicit constant coversion [-Woverflow]

错误。

有谁知道这个错误是什么意思,或者我如何才能成功地将 C 关键字放入数组中?

最佳答案

您不使用单引号 ' 来分隔 c 中的字符串,因为您需要双引号 "

你需要一个指针数组,所以你的声明应该是 char *keywords[]

const char *keywords[] = {
"auto",
"break",
"case",
"char",
"continue",
"do",
"default",
"const",
"double",
"else",
"enum",
"extern",
"for",
"if",
"goto",
"float",
"int",
"long",
"register",
"return",
"signed",
"static",
"sizeof",
"short",
"struct",
"switch",
"typedef",
"union",
"void",
"while",
"volatile",
"unsigned"
};

单引号用于字符常量,存在多字符字符常量,但那些是实现定义的,单个字符字符常量,如'a ' 给出一个整数值,它是该字符的 ascii 码。

看来您正在尝试编写解析器,您是否考虑过使用 bison + flex 或任何其他解析器生成器?

关于c - C中数组中的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572769/

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