C语言实现用户输入两数求和出现异常计算结果的问题求助
C语言求和代码错误排查解决方案
错误定位
- 错误行:
printf("%d",&sum); - 错误原因:
printf输出int类型变量的值时,直接传入变量名即可,无需添加取地址符&。你此处添加&后,实际输出的是sum变量的内存地址,而非存储的求和结果,因此会出现6422292这类无意义的数值。 - 补充注意:只有
scanf接收用户输入时,才需要传入变量的地址来存储输入内容,需要搭配&使用,两者不要混淆。
修正后完整代码
#include<stdio.h> int main(){ int num1=0; int num2=0; int sum=0; printf("enter 2 numbers\n"); scanf("%d %d",&num1,&num2); sum=num1+num2; printf("%d",sum); return 0; }
验证效果
输入23和23后,程序将正确输出结果46。
内容的提问来源于stack exchange,提问作者Rishi Gandhi
相关产品推荐
相关产品推荐

