Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: V.nvwi en 3 Diciembre 2023, 22:27 pm



Título: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: V.nvwi en 3 Diciembre 2023, 22:27 pm
Estoy teniendo un problema con este error en mi código y no se el origen del problema, adjunto mi código

Código
  1. /*Programa para calcular la factorial de un numero.*/
  2.  
  3. #include <stdio.h>
  4. int main ()
  5. {
  6.    int i, n;
  7.    double factorial=1;
  8.  
  9. while(1){
  10.  
  11. printf("Ingresa un numero: ");
  12. scanf("%d", &n);
  13. for(i=1; i<n; i++);
  14. factorial = factorial *i ;
  15. prinf("La factorial es %d\n", factorial);
  16. }
  17.  
  18.    return 0;
  19. }


Título: Re: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: whitevision en 4 Diciembre 2023, 05:13 am
Hola, hasta cuando se repite el WHILE.
Salu2.


Título: Re: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: fary en 4 Diciembre 2023, 07:42 am
Código
  1. /*Programa para calcular la factorial de un numero.*/
  2.  
  3. #include <stdio.h>
  4.  
  5. int main ()
  6. {
  7.    int i, n;
  8.    int factorial = 1; // Tenias la variable declarada como double, osea trabajar con decimales -< MAL
  9.  
  10. while(1)
  11.    {
  12. printf("Ingresa un numero: ");
  13. scanf("%i", &n);
  14.  
  15. for(i=1; i<=n; i++) // en el bucle for tenias ';' (dos puntos al final de linea), osea que todo lo que habia debajo no surgia efecto
  16.        { // Tenias puesto en la condicion tambien si era menor, y tiene que ser si es menor o igual.
  17.            factorial = factorial * i;
  18. }
  19.  
  20. printf("La factorial es %i\n", factorial); // Aqui tenias escrito prinf en vez de printf
  21. }
  22.  
  23.    return 0;
  24. }
  25.  

Hola, hasta cuando se repite el WHILE.
Salu2.

Es un bucle infinito ya que 1 siempre será true.


Saludos.


Título: Re: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: MAFUS en 6 Diciembre 2023, 18:42 pm
ld es error del linker. Tal vez no hayas añadido el directorio de la librería estándar en el PATH de tu sistema.


Título: Re: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: RayR en 7 Diciembre 2023, 05:08 am
Como te dijo MAFUS, es error del enlazador o linker. En este caso me imagino que será porque en la línea 15 pusiste prinf en lugar de printf (falta la 't').

Como referencia futura, siempre hay que poner los mensajes de error completos, pues eso de "ld returned..." por sí solo no sirve de mucho. Por fuerza el compilador/linker debe haberte dado más información (algo tipo "undefined reference to prinf"). Si usas un IDE, probablemente eso lo encuentras en una pestaña llamada output, build log, build messages o similar.


Título: Re: ayudaaa tengo un problema con ERROR: Id returned 1 exit status
Publicado por: Atika en 10 Diciembre 2023, 23:28 pm
El código que proporcionaste contiene varios errores menores y también una ineficiencia que causa un bucle infinito debido a la falta de una condición para salir del bucle while. Aquí está el código corregido:

Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    int i, n;
  5.    unsigned long long factorial = 1; // Se usará un tipo de dato más grande para almacenar factoriales grandes
  6.  
  7.    while (1) {
  8.        printf("Ingresa un número (-1 para salir): ");
  9.        scanf("%i", &n);
  10.  
  11.        if (n == -1) {
  12.            break; // Salir del bucle si se ingresa -1
  13.        }
  14.  
  15.        factorial = 1; // Reiniciar factorial para cada nuevo número
  16.        for (i = 1; i <= n; i++) {
  17.            factorial *= i; // Forma abreviada de factorial = factorial * i;
  18.        }
  19.  
  20.        printf("El factorial de %i es %llu\n", n, factorial); // Corrección en el formato de impresión
  21.    }
  22.  
  23.    return 0;
  24. }