为什么代码没有报错运行结果却不对vs c++

img

img

如图三个整数求和,试了几遍都没提醒哪有错误,但是运行时输入一个值就自动输出s=1717986916后结束运行了

%后面不用加空格

你是不是用了全角的符号
这是全角的这是半角的%
你都改成第二个试试

【以下回答由 GPT 生成】

问题出现的原因是由于整型溢出。在C++中,整型变量有一个最大值的范围,超过该范围的数值会导致溢出。 在你的代码中,你使用的是int类型来存储三个整数的和,但当三个整数的和超过了int类型所能表示的最大值时,会导致溢出。这就是为什么你的程序输出的结果不正确。

要解决这个问题,你可以考虑使用更大范围的变量类型,例如使用long long来存储三个整数的和。在C++中,long long类型可以表示更大范围的整数。具体的改进代码如下:

#include <iostream>

int main() {
    long long a, b, c, s;
    std::cout << "请输入三个整数:" << std::endl;
    std::cin >> a >> b >> c;
    s = a + b + c;
    std::cout << "s = " << s << std::endl;
    return 0;
}

这样改进后,你的程序就可以正确地计算出三个整数的和了。

希望这个解决方案能够帮到你!如果你还有其他问题,请随时提问。



【相关推荐】



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