#include<stdio.h>
#include<string.h>
main()
{
int N, d;
char b[20], a[4] = { "bowl","knife","fork","chopsticks" };//这里为什么显示初始值设定向太多?为什么得改成a[4][20]呢?
while (scanf("%d", &N) != EOF)
{
d = 0;
while (N--)
{
scanf("%s", b);
for (int i = 0; i < 4; i++)
if (strcmp(b, a[i]) == 0)
{
d++;
if (d == 1) { printf("%s", b); }
else { printf(" %s", b); }
}
}
printf("\n");
}
}
E0146初始值设定向太多 问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
micthis 2024-10-07 13:52关注因为你的a是字符数组只能保存一个长度不大于3的字符串,而你却给了4个字符串,应该将a定义成二维数组(如同你修改的)或定义成字符指针数组:char *a[4]=...;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报