Santiago Gómez
PreguntaAlguien me puede explicar que anda mal? me sale error segmentation fault (core dumped) ¿Cómo puedo solucionarlo? Gracias de antemanos compañeros
#include <stdio.h> #include <string.h> #include <stdlib.h> int main (int argc, const char *argv [] ) { int most_long = 0; for (int i=0; i < argc; i++ ) { int ret = strcmp(argv[i],argv[i+1]); if (ret > 0 ) { most_long = i; } else if (ret < 0) { most_long = i + 1; } else { printf("Las cadenas son iguales: "); } } printf("La cadena mas larga es: %s",argv[most_long]); return 0; }
Santiago Gómez
Gracias Luis por tu apoyo

Luis Lira
Creo que el detalle está en que quieres acceder a índices de
argv
Así es como me quedó tu código luego de organizarlo,
argv
#include <stdio.h> #include <string.h> #include <stdlib.h> int main (int argc, char *argv[]) { int most_long = 0; for (int i=0; i < argc; i++ ) { int ret = strcmp(argv[i], argv[i+1]); if (ret > 0 ) { most_long = i; } else if (ret < 0) { most_long = i + 1; } else { printf("Las cadenas son iguales: "); } } printf("La cadena mas larga es: %s",argv[most_long]); return 0; }
Santiago Gómez
Hola Luis, claro, pegué todo el código pero se pego todo horizontal :l aqui esta en texto
#include <stdio.h> #include <string.h> #include <stdlib.h> int main (int argc, constchar *argv [] ) { int most_long = 0; for (int i=0; i < argc; i++ ) { int ret = strcmp(argv[i],argv[i+1]); if (ret > 0 ) { most_long = i; } elseif (ret < 0) { most_long = i + 1; } else { printf("Las cadenas son iguales: "); } } printf("La cadena mas larga es: %s",argv[most_long]); return 0;
}

Luis Lira
Hola, ¿podrías pasar tu código completo para poder probarlo y ver si puedo replicar el error? :D
Normalmente ese error se debe a que ese intentando acceder a algo que no existe o también que no tiene permisos