这个相加的代码是错在哪里呀?

请问这个代码是错在哪里呀?为什么相加结果还是第一个数?中间不是空格吗?,烦请专业是帮忙一下。

img

scanf要和输入匹配,

供参考:

img

【以下回答由 GPT 生成】

问题分析: 这段代码中的错误是在scanf函数的格式控制字符串中,多了一个换行符\n。这导致在输入第一个数之后,scanf函数会在缓冲区中留下一个换行符,然后在输入第二个数时,scanf会将这个换行符作为第二个数的输入,从而导致相加结果不正确。

解决方案: 删除scanf函数格式控制字符串中的换行符\n。

修改后的代码如下所示:

#include <stdio.h>

int main() {
    int num1 = 0;
    int num2 = 0;
    int sum = 0;

    scanf("%d%d", &num1, &num2);
    sum = num1 + num2;
    printf("sum = %d\n", sum);

    return 0;
}

这样修改后,scanf函数将正确读取输入的两个数,并且相加的结果也是正确的。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^