为何我编写的两个整数求和程序结果始终为0?
问题排查与修复
你的代码核心问题是:sum变量仅完成声明,从未被赋值为a和b的和。
C语言中,函数内的自动局部变量(比如main里的sum)如果没有显式初始化,它的初始值是未定义的——你看到结果始终为0只是环境导致的巧合,换个编译环境或运行场景,可能会输出随机的垃圾数值。
修复后的代码
#include <stdio.h> //Compiler version gcc 6.3.0 int main() { int a,b,sum; printf("enter two integers:"); scanf("%d %d",&a,&b); sum = a + b; // 新增求和赋值操作 printf ("%d + %d = %d",a,b,sum); return 0; }
关键修改点
在scanf读取完a和b之后、printf输出之前,添加sum = a + b;语句,将两个输入整数的计算结果赋值给sum变量,这样printf才能输出正确的求和结果。
内容的提问来源于stack exchange,提问作者Akshay
相关产品推荐
相关产品推荐

