#include<stdio.h>
int main()
{
char *value[] = {'Godnull'};
printf("%s\n",value);
return 0;
}
输出:llun
有人可以解释一下这个输出。
#include<stdio.h>
int main()
{
char *value[] = {'Godnull'};
printf("%s\n",value);
return 0;
}
输出:llun
有人可以解释一下这个输出。
在 C 中用单引号写一个字符串绝对没问题。这些被称为"MultiCharacter Constant"类型为"int"。并且取决于编译器 int 将具有 4 字节的大小,可以将 4(1 字节字符)存储到您的数组中。这可能就是您在控制台上只打印四个字符的原因。请参考这个字符常量中的多个字符
无论如何,不建议像上面那样声明字符指针数组。
谢谢,
您在这里遇到了一些问题:
char *value[] = {'Godnull'};
当我假设您正在尝试创建单个字符串时,您正在创建一个字符串数组
此外,要初始化一个字符串,您需要双引号中的字符串:
char *value = "Godnull";
编辑: 如果您真的想将其声明为字符数组并将其用作字符串,请尝试:
char value[] = {'G', 'o', 'd', 'n', 'u', 'l', 'l', '\0'};