CodeBlocks编写C语言求和程序运行崩溃(错误码-1073741510)求助
嘿,你的C语言入门程序问题我搞定啦!
首先说下你遇到的Process terminated with status -1073741510错误,本质是内存访问违规,再加上代码里还有个逻辑小漏洞,咱们一步步捋:
第一个坑:scanf用错了参数
scanf读取输入的时候,得给它传变量的内存地址,不是变量本身哦!你写的scanf("%d", int1);直接传了变量值,程序会傻乎乎地往错误的内存位置写数据,直接触发崩溃。
解决办法很简单:在变量名前面加个&(取地址符),比如&int1、&int2。
第二个坑:忘了计算求和结果
你定义了sum变量,但压根没给它赋值呀!直接printf("Sum is %d\n", sum);的话,输出的会是内存里的随机垃圾值,这也是个逻辑错误。得补上sum = int1 + int2;这一步才行。
修复好的完整代码
#include <stdio.h> #include <stdlib.h> int main() { int int1, int2, sum; printf("Enter first integer\n"); scanf("%d", &int1); // 加&取地址,让scanf知道往哪存输入 printf("Enter second integer\n"); scanf("%d", &int2); // 同样加& sum = int1 + int2; // 新增求和步骤,给sum赋值 printf("Sum is %d\n", sum); return 0; }
额外给你提个小建议
要是用CodeBlocks运行完程序窗口立刻消失,看不到结果,可以在return 0;前面加一行getchar();(记得要在最后一个scanf之后也加一个getchar();吃掉输入残留的回车哦),或者Windows平台下用system("pause");,这样就能停住窗口看结果啦。
内容的提问来源于stack exchange,提问作者watabala
相关产品推荐
相关产品推荐

