c语言出现打印烫烫烫烫烫烫问题
字符数组初始化用这种方式初始化
%s是以字符串打印,获取是地址,%s会接受字符串结束标志[‘\0’]之前的所有字符,在ASCII就是数字0
打印大小为5
结束没有’\0’,%s找不到’\0’,会出现烫字符问题
int main()
{
char arr[] = { 'h','e','l','l','o' };
printf("%d\n", sizeof(arr));
printf("%s", &arr);
}
换种初始化方法,这种初始化方法会自带’\0’
打印大小为6
int main()
{
char arr[] = "hello";
printf("%d\n", sizeof(arr));
printf("%s", &arr);
}
END