我编写了以下代码:
#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;
}
它编译成功,我可以运行该程序,但是在第二个“ scanf
”之后它崩溃了,甚至在“ printf("%d * %d = %d",a,b,c);
”出现之前就崩溃了。我使用Visual Studio Code和gc-compiler(gcc)。
int c = a + b;
您需要将此行移到后面
/* scan first number*/
printf("number 1: ");
scanf("%d", &a);
/* scan second number*/
printf("number 2: ");
scanf("%d", &b);
*insert it here*
您正在尝试添加未声明的变量。程序崩溃,因为当您尝试打印c变量时,因为int计算机无法在内存中找到它。 C没有价值,或者您可以这样做:
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;
}