arrays - 错误:“char 数组初始化程序中的多余元素”
问题描述
如您所见,我正在尝试检查用户输入的元素是否存在于我的数组中。arr
但是在声明和定义的那一行会出现以下错误:
1)[Error] excess elements in char array initializer
2)[Error] (near initialization for 'arr')
这是我的代码:
#include <stdio.h>
int main(){
char word;
scanf("%d",&word);
char arr[7]={"break", "case", "continue", "default", "else", "defer", "for"};
int i,n=7;
for(i=0;i<n;i++){
if(word==arr[i]){
printf("Keyword Found");
}
else{
printf("Keyword Not Found");
}
}
}
解决方案
char arr[7]={"break", "case", "continue", "default", "else", "defer", "for"};
你的 arr 是一个字符数组而不是字符串数组。您可以使用结构的概念制作一个字符串数组。像这样,
char arr[10];
struct arr_str{
char arr[10];
};
int main(){
struct arr_str array[7]; // array of strings.
return 0;
}
或者您也可以简单地制作一个二维字符数组(数组数组)。
char arr[7][10];
推荐阅读
- kubernetes - Kubenetes 从 1.8.7 升级到 1.13.0
- sql - 为什么在数据库中收集统计数据称为资源消耗活动?
- flutter - 如何指定测试窗口?
- jquery - 如何将 bootstrap-colorpicker 附加到我的 laravel/blade 页面?
- css - 响应性- 如何使用 CSS 控制 PC 显示的比例和布局?
- swift - 快速为倒计时计时器制作一个重置按钮
- javascript - 打印时 PDF 不完整
- ios - 自定义 UITableViewCell 中的 TableView 未针对该自定义 cellviewtype 的所有单元格出现
- javascript - 解决 karma 中源文件的依赖关系解析
- kotlin - 如何模拟调用 kotlin.system.exitProcess