我现在开始学习C.我想知道为什么我会收到警告。我声明了一个二维char数组,但为什么不允许使用"d"
字符?
char array[3][3] = {{1,"d",3},{3,2,1},{2,1,3}};
答案 0 :(得分:0)
将“d”替换为“d”
'd'是一个字符
“d”是一个字符串
答案 1 :(得分:0)
TL; DR - "d"
不是字符,而是字符串。 'd'
是一个角色。
为了详细说明,我们使用单引号''
来表示char
。它表示char
的值。该值为int
类型。
OTOH,双引号" "
用于表示字符串。它重新构建字符串的基址。那是一个指针。
在您的代码中,您使用"d"
来返回指向字符串文字的指针,以初始化char
变量,该变量需要类型为{{ 1}}。因此警告。