c语言中为什么字符数组长度可以等于字符串长度?难道str[5]中5不是数组长度吗?
问题描述:
int main() {
char sir[5]={"hello"};
return 0;
}
答
5是长度,你这么赋值是错误的。字符串结束符写到sir数组之外了,越界访问
答
sir[5]有5个字节,hello能完全放下,但是就没有位置给\0了。所以显示str的时候,可能会显示更多的字符。