gpt4 book ai didi

带 Char ** 的 printf 的编译器警告(作为字符串数组)

转载 作者:行者123 更新时间:2023-11-30 20:29:24 25 4
gpt4 key购买 nike

(代码压缩为相关部分)

const char* cityCodes[nCities][3];

printf("%s", cityCodes[i - 1]);

TSP.c:40:16: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘const char **’ [-Wformat=]

因此,cityCodes 是一个char **(字符串数组)。我通过索引所述数组以接收特定字符串来收到此警告。这个编译器警告是我应该忽略的吗?有什么办法可以解决吗?

最佳答案

cityCodes 是一个二维字符串数组,因此它是 char ***

我认为你的意思是让它成为一个字符串数组,每个字符串有 2 个字符(加上 1 个字节作为空终止符)。所以声明应该是:

char cityCodes[nCities][3];

如果你想要一个指向字符串的指针数组,它应该是:

const char *cityCodes[nCities];

声明指针时,没有指定它指向的数组的长度。

关于带 Char ** 的 printf 的编译器警告(作为字符串数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com