热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C中数组中的关键字

如何解决《C中数组中的关键字》经验,为你挑选了1个好方法。

我无法将关键字放入数组中.这是我的阵列:

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关键字变成数组?



1> Iharob Al As..:

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

而且你需要一个指针数组,所以你的声明应该是 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或任何其他解析器生成器?


推荐阅读
author-avatar
衴u神是欧豪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有