[ Foro de C++ ]

Arrays en C que se solapan

28-Dec-2018 07:03
Invitado (HARC)
1 Respuestas

Saludos,
  Tengo un problema en C++ declaro 2 arrays A y B de 4 elementos c/u y en el A coloco 4 letras en el B recibo por pantalla también 4 letras sin embargo haciendo un debug me doy con el problema que ni bien termino de ejecutar la instruccion de entrada por pantalla de las 4 letras ya sea con la instrucción scanf o gets del array B, el primer elemento (0) del array A se cambia automaticamente por '/x0'.. o valor nulo..
alguna sugerencia porque se altera el primer valor del array A cuando ingreso los valores del array B?
ambos estan declarados como char A[4], B[4].
el B lo recibo por pantalla como gets(B);  y en la comparacion if (A[i]==B[i]) .... etc.  ya el primer elemento del A (0) se cambio por lo arriba descrito.
Estoy recien incursionando en el lenguaje C y  no entiendo muy bien porque ocurre esto..
Gracias.


05-Jan-2019 12:05
Nacho Cabanes (+84)

Tienen que ser char[5], porque cada cadena debe tener sus 4 caracteres y terminar con un carácter nulo.

Lee este primer párrafo para saber más:

https://www.aprendeaprogramar.com/mod/resource/view.php?id=615
 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)