Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: merttencito en 29 Marzo 2019, 21:00 pm



Título: Duda Funcion en C
Publicado por: merttencito en 29 Marzo 2019, 21:00 pm
Estoy intentado Agrupar por paises pero tengo un problema, hay veces que no entra correctamente en el if y no entiendo por que puede ser.
Alguna ayuda?



void AgruparAmigos(amigo* lista_amigos, int n_amigos)

    //***************************************************************************
 {
        int i;
        char p[]="aaaaaaaaaaaaaaaaaaaaaaa";

        for(i=0;i<n_amigos;i++){

    printf("%d\n",i);
    printf("$$%s$$\n",lista_amigos.direcc.pais);
    printf("$$%s$$\n",p);


      if (strcmp(p,lista_amigos.direcc.pais)==1){

        printf("bucle dentro con %s\n",lista_amigos.direcc.pais);

      }

       else { printf("Son iguales\n"); }

        strcpy(p,lista_amigos.direcc.pais);
        printf("Pais copiado $$%s$$\n",p);

        }

        }


Título: Re: Duda Funcion en C
Publicado por: K-YreX en 29 Marzo 2019, 21:17 pm
Coloca tu código entre etiquetas de código GeSHi (hay un desplegable encima del cuadro de texto) para poder interpretar bien tu código...
Y por qué inicializar <p> así?? :huh:


Título: Re: Duda Funcion en C
Publicado por: CalgaryCorpus en 29 Marzo 2019, 22:27 pm
No compares el resultado de strcmp contra 1, comparalo contra 0. 0 son iguales, distinto de 0, distintos. Mayor que 0. el primer parametro de strcmp es mayor lexicograficamente que el segundo y si es menor que 0 al reves.