Red de conocimiento informático - Problemas con los teléfonos móviles - strlen (una matriz de caracteres no inicializada)

strlen (una matriz de caracteres no inicializada)

Debido a que no inicializó la matriz, cada elemento de la matriz es un valor aleatorio. El compilador inicializará el valor a 0 después de la enésima dirección al final de la matriz. El valor de n depende del compilador, por lo que si lo define. aa[1], en vc6, cambie el séptimo byte después de a[0] a 0. Si es 10, es decir, el quinto byte después de a[9], entonces su salida será 15, creo que esto también es un optimización realizada por el compilador para evitar el acceso ilegal a la memoria

Lo sabrás consultando el código de prueba que escribí

#include <stdio.h>

p>

int main(void)

{ int n=8;

char aa[ 2];

for(int i=0; i

printf("%d\n",aa[i]);

return 0;

}//aa matriz Cuanto mayor sea longitud, mayor será la n