非常基本的两个数字之和 I/O 问题[重复]

问题描述 投票:0回答:1

在 C++ 中添加两个数字时遇到困难并得到一些奇怪的答案。甚至每次编译代码时添加相同的两个数字时都会得到不同的答案。

#include <iostream>

int main()
{
int a;
int b;
int sum;
sum = a+b;

std::cout<< "enter 1st number: ";
std::cin >> a;
std::cout<< "enter 2nd number: " ;
std::cin >> b;
std::cout << "The sum of " << a << " and " << b << " is " << sum << std::endl;
return 0;
}

嗨,我是一个正在尝试学习 C++ 的新手。当我编写这样的代码并在最后一个 cout 行上使用“sum”变量来获取两个数字的总和时,我永远不会得到正确的答案,并且每次对于相同的两个数字我都会得到不同的答案。答案是这样的“-639489339, 2034337”。 但是当我使用“a+b”而不是“sum”时

std::cout << "The sum of " << a << " and " << b << " is " << a+b << std::endl;

效果很好。 然后又 #包括

int main()
{
int a;
std::cout<< "enter 1st number: ";
std::cin >> a;
int b;
std::cout<< "enter 2nd number: " ;
std::cin >> b;
int sum;
sum = a+b;
std::cout << "The sum of " << a << " and " << b << " is " << sum << std::endl;
return 0;
}

如果我正在编写这样的代码,在声明一个变量后立即获取输入,然后声明下一个变量并立即获取输入,那么总和就可以正确工作。我可以在最后一个 cout 语句中使用“sum”变量。任何人都可以解释一下吗?希望我能正确解释我的问题 我正在使用 MS Visual Studio。

your text

c++ input file-io
1个回答
-1
投票

兄弟... 您声明 a 和 b 没有任何值 总和=a+b 默认情况下 a=0 和 b=0 (对于我的电脑) 然后你在不改变新的a和b的总和的情况下获取输入,你可以在获取输入后更新总和var,它会正常工作

© www.soinside.com 2019 - 2024. All rights reserved.