我正在开发一个程序,它接受输入并输出与输入相对应的数值。我在 char 部分收到错误。我不明白为什么当数组中只有 27 个字符且大小为 27 时会出现这样的错误?
int main ()
{
char greek[27] = "ABGDE#ZYHIKLMNXOPQRSTUFC$W3";
}
你还需要一份[28]
对于尾随的'\0'
是一个有效的字符串。
看看C 编程笔记:第 8 章:字符串 http://www.eskimo.com/~scs/cclass/notes/sx8.html:
C 中的字符串由字符数组表示。的结束
字符串标有一个特殊字符,即空字符,它
只是值为 0 的字符。(空字符没有
除名称外与空指针的关系。在 ASCII 字符中
设置,空字符被命名为 NUL。)空或字符串终止
字符由另一个字符转义序列 \0 表示。
正如 Jim Balter 和 Jayesh 所指出的,当您提供初始值时,您可以省略数组大小(编译器使用初始值设定项的数量作为数组大小)。
char greek[] = "ABGDE#ZYHIKLMNXOPQRSTUFC$W3";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)