Recorrer tablas de cadenas @.@
Publicado por Rubén (5 intervenciones) el 01/06/2003 11:33:02
Estoy rellenando unas tablas de cadenas y me hace algo raro.
el código es este:
for (x=0;x<=24;x++)
strcpy(Nifs[x], ")))))))))");
Donde Nifs es una tabla del tipo cadena que he definido mediante un:
typedef char cadena[9];
en vez de ir asignado la cadena ")))))))))" a cada posición de la tabla Nifs, va concatenando la cadena a las respectivas posiciones una y otra vez., Es decir:
Nifs[0] == ")))))))))" en el primer paso por el bucle
NIfs[0] == "))))))))))))))))))" en el segundo
y así sucesivamente y con las posiciones siguientes...
Nifs[0] == ")))))))))" en el primer paso por el bucle
NIfs[1] == sin definir
NIfs[2] == sin definir
NIfs[0] == "))))))))))))))))))" en el segundo
Nifs[1] == ")))))))))"
Nifs[2] == sin definir
Nifs[0] == ")))))))))))))))))))))))))))" en el tercero
Nifs[1] == "))))))))))))))))))"
Nifs[2] == ")))))))))"
Quiero rellenar asi estas tablas para el algoritmo de busqueda dicotomica + insercion directa, ya que si la tabla no está llena no lo hace bien. Pero porque me hace esto este ''for'? y si se supone que la tabla es de cadena (el tipo definido que es de un máximo de 9 caracteres) por qué acepta más de 9 cuando hace la concatenación?? >_< si me podeis hechar una mano por favor, (uso Borland C3.1, por si os da alguna referencia)
el código es este:
for (x=0;x<=24;x++)
strcpy(Nifs[x], ")))))))))");
Donde Nifs es una tabla del tipo cadena que he definido mediante un:
typedef char cadena[9];
en vez de ir asignado la cadena ")))))))))" a cada posición de la tabla Nifs, va concatenando la cadena a las respectivas posiciones una y otra vez., Es decir:
Nifs[0] == ")))))))))" en el primer paso por el bucle
NIfs[0] == "))))))))))))))))))" en el segundo
y así sucesivamente y con las posiciones siguientes...
Nifs[0] == ")))))))))" en el primer paso por el bucle
NIfs[1] == sin definir
NIfs[2] == sin definir
NIfs[0] == "))))))))))))))))))" en el segundo
Nifs[1] == ")))))))))"
Nifs[2] == sin definir
Nifs[0] == ")))))))))))))))))))))))))))" en el tercero
Nifs[1] == "))))))))))))))))))"
Nifs[2] == ")))))))))"
Quiero rellenar asi estas tablas para el algoritmo de busqueda dicotomica + insercion directa, ya que si la tabla no está llena no lo hace bien. Pero porque me hace esto este ''for'? y si se supone que la tabla es de cadena (el tipo definido que es de un máximo de 9 caracteres) por qué acepta más de 9 cuando hace la concatenación?? >_< si me podeis hechar una mano por favor, (uso Borland C3.1, por si os da alguna referencia)
Valora esta pregunta


0