(1)
char string[10]; // 甚至 string[9]都可以
int i;
char *str1=“0123456789”; // 这里实际还要添加 ‘\0’,因为 \0是C++中字符串的结尾标志,存储在字符串的结尾。比如char cha[5]表示可以放4个的数组,由于c/c++中规定字符串的结尾标志为’\0’,它虽然不计入串长,但要占内存空间
strcpy(string,str1); // 相当于把 0123456789 还有 ‘\0’ 共 11个字符存入 10个中,放不下只好越界,况且C语言编译器是不检查越界的
strlen 计算的是有效可见的字符长度,自然’\0’是不算的