#include<stdio.h>
void main()
{
char str[4] ="HELLO";
printf("%s",str);
}
这里到底发生了什么?
输出是: 见鬼?
最佳答案
您不能将 5 个值分配给 4 大小的数组,当您输入 Hello
时,它会被解释为 {'h', 'e', 'l', 'l' , 'o'}
,所以你至少需要 5 个大小的数组。
考虑到C还需要最后一个字符'/0',我建议你将它作为6大小的数组
关于定义的字符数组小于初始化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57986800/