¿ como se lee esto?

Iniciado por ALONSOQ, 5 Agosto 2012, 09:13 AM

0 Miembros y 1 Visitante están viendo este tema.

ALONSOQ

   
for (i=0;i<strlen (c);i++)
  {
       if (c[i]==' ')
       {
       
          for ( j=i+1; c[j]!='\0';j++)
          {
              c[ j-1]=c[j];
             
          }

          c[j-1]='\0';
     }


Este codigo ¿ que significaría exactamente?
Para i=0 hasta el tamaño de la cadena, i, avanza
si hay un espacio
para j =i+1 hasta el final de la cadena j.....¿ Que quiere decir? ( se lo que hace que es eliminar espacios; pero como se recita)

muchas gracias

durasno

Hola! no entiendo tu duda, ¿no entendes el codigo? ¿¿o no entendes que es c[j]!='\0'??

Saludos
Ahorrate una pregunta, lee el man

ALONSOQ

Como se leeria la condición de dentro del bucle
si i igual a espacio, entonces .... (Es decir cual es el razonamiento)

gracias

p4nd4criss

para cada carácter de la cadena espesando desde cero
      se compare con un espacio( if (c==' ') )
             cuando se encuentra un espacio se copia cada carácter sigiente un espacio atrás( c[ j-1]=c[j]; )
             hasta encontrar un carácter de devuelva NULL( c[j]!='\0' ).
             el ultimo carácter de la cadena queda duplicado así k se lo reemplaza con NULL ( c[j-1]='\0'; )
      se continua buscando espacios "  "

ALONSOQ