我正在尝试打印整个单词,而不仅仅是第一个字母。我可以通过一个循环来做,但我认为有一个更好的方法。我正在四处搜索并看到他们将%S更改为%c的答案,但我已经使用了%c,因为它是一个字符数组。
char* words[] = {"my", "word", "list"};
printf("The word: %c",*words[2]);
Results:
The word: l
答案 0 :(得分:8)
问题是你解除引用了两次。 *单词[2]中的[2]从单词[]到“list”取消引用,然后*从“list”到'l'再次引用*取消*和瞧。
char* words[] = {"my", "word", "list"};
printf("The word: %s", words[2]);
答案 1 :(得分:4)
您需要使用%s
,这是一种专门用于以空字符结尾的字符数组(即C字符串)的格式。将数组元素传递给printf
时,不要取消引用该元素,如下所示:
printf("The word: %s\n", words[2]);