C程序找错误: void test1() { char string[10]; char* str1="0123456789"; strcpy(string,str1); }

2024年11月27日 14:54
有2个网友回答
网友(1):

char* str1="0123456789"; // str1指向的字符串中有0-9共10个字符,加上用来标记字符串结束的在'9'之后的末尾的0字节,共计要占用11个字节
而char string[10];只有10个char即10个字节的空间
所以strcpy会造成string数组溢出

网友(2):

0123456789是 string[0] str1指针指向STRING[0]