首页 > 解决方案 > 将给定单词与数组中的字符串进行比较

问题描述

我试图找到一种方法将给定单词与字符串数组进行比较,并最终将“最大”单词(根据 ASCII 表)插入到新数组中。

我的问题是;我可以将数组内的字符串称为常规位置吗?例如

char arr[]={"hello", "world"};

我可以将“你好”称为arr[0]“世界”arr[1]吗?

标签: carraysc-strings

解决方案


你不能那样做。事实上,当你尝试编译你的代码时,你会收到这个错误之王

test.c:2:22: error: excess elements in char array initializer
    2 | char arr[]={"hello", "world"};
      |                      ^~~~~~~
test.c:2:22: note: (near initialization for ‘arr’)

这意味着您已经声明了一个包含 1 个块的数组,您尝试使用超过 1 个块(在这种情况下为 2 个)初始化它。
您需要通过以下方式更改您的声明:

char *arr[] = {"hello", "world");

一切都应该没问题!


推荐阅读