El libro de Tan Haoqiang sobre lenguaje C dice que si la función strcpy no se inicializa en str1, el resultado copiado puede no ser seguro en str2.
S1 y s2 se inicializan y pueden representar cadenas completas, por lo que la función de copia strcpy se ejecuta normalmente y los resultados son los esperados.
Primero hablemos de por qué el libro dice esto.
Pueden ocurrir problemas si la matriz de cadenas no está inicializada, o si el puntero de cadena no está inicializado y apunta a la cadena correcta.
Hablemos del principio de la función strcpy:
Copie los caracteres de la cadena en la matriz de destino en secuencia de acuerdo con el desplazamiento del puntero Solo cuando el terminador de cadena '\0. se encuentra 'La copia finaliza.
Si la cadena no se inicializa, el terminador de cadena no está definido. Puede estar dentro de la longitud definida de la matriz de cadenas o puede cruzar el límite y continuar buscando el primer terminador. En este punto, los resultados de la copia son indeterminados o incorrectos.