Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/09/2013, 15:36
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Duda programa sencillo en C

Está bien el uso de strncmp, es lo mismo, solo que más seguro cuando no sabes donde finaliza la variable, aunque el programa es muy redundante.

El problema está en scanf, lo estás utilizando así:
Código C:
Ver original
  1. scanf("%s", &resp1[10]);

Y debería ser así:
Código C:
Ver original
  1. scanf("%s", &resp1);

La razón está que cuando le pasas a scanf la dirección de una zona especifica del string, va a empezar a escribir desde ahí. O sea, &resp1[0] ... &resp1[9] quedaron sin datos, y se guardó en &resp1[10] la letra s, y la i, no se guardó porque escribió en vaya a saber donde en la memoria, ya que no existe &resp1[11]

Como una recomendación, puedes usar mejor
Código C:
Ver original
  1. scanf("%9s", &resp1);

Que es más seguro porque solo tomará 9 caracteres, o
Código C:
Ver original
  1. fgets(resp1, sizeof(resp1), stdin)

Saludos.