He escrito el siguiente código:

#include <stdio.h>

int main (void){

    int a;
    int b;

    /* scan first number*/
    printf("number 1: ");
    scanf("%d", &a);

    /* scan second number*/
    printf("number 2: ");
    scanf("%d", &b);

    int c = a + b;

    printf("%d + %d = %d",a,b,c);

    return 0;
}

Se compila correctamente y puedo ejecutar el programa, pero después del segundo "scanf" se bloquea antes de que aparezca "printf("%d * %d = %d",a,b,c);". Utilizo Visual Studio Code y el compilador gc (gcc).

0
mxcom 27 oct. 2019 a las 13:30

1 respuesta

La mejor respuesta
 int c = a + b;

Necesitas mover esta línea detrás

/* scan first number*/
printf("number 1: ");
scanf("%d", &a);

/* scan second number*/
printf("number 2: ");
scanf("%d", &b);
*insert it here*

Está intentando agregar variables no declaradas. El programa se bloqueó porque cuando intentas imprimir la variable c porque la computadora int no puede encontrarla en la memoria. C no tiene valor, o puede hacerlo así:

int main (void){

int a;
int b;


/* scan first number*/
printf("number 1: ");
scanf("%d", &a);

/* scan second number*/
printf("number 2: ");
scanf("%d", &b);

printf("%d + %d = %d",a,b,a+b);

return 0;

}

0
MerMonkey 27 oct. 2019 a las 10:43