我今天刚刚开始编码,我决定在没有教程帮助的情况下编写一个随机计算器。最终的结果是大数字:
input number
5
input number
5
answer
6887592
https://gyazo.com/3b3232644f36024d5776f02dd377ae61
这是我的代码,
#include <iostream>
using namespace std;
int main()
{
int a;
int b;
int cents;
cents = a + b;
cout<<"Input number\n";
cin >> a;
cout<<"Input number\n";
cin >> b;
cout << "answer"<< endl;
cout << cents;
return 0;
答案 0 :(得分:5)
在我熟悉的所有编程语言中,事情按顺序顺序发生。这意味着每个语句都按顺序完成其工作。
由于您在输入值之前尝试添加,因此总和是a
和b
上面的语句中的任何内容。您尚未为这些变量分配任何内容,稍后会出现这些变量。如果不以效率的名义为它们分配任何内容,C ++将不会初始化变量 - 它们将包含发生在这些内存位置的任何随机垃圾。所以你得到的总和是无稽之谈。技术术语是未定义的行为。
答案 1 :(得分:1)
您正在添加值a&amp; b在接受输入之前。因此美分包含垃圾值。
尝试这种方式:
#include <iostream>
using namespace std;
int main()
{
int a;
int b;
int cents;
cout<<"Input number\n";
cin >> a;
cout<<"Input number\n";
cin >> b;
cents = a + b; // Moved down here
cout << "answer"<< endl;
cout << cents;
return 0;
}
答案 2 :(得分:0)
int a = 0, b = 0, cents = 0;
cout<<"Input number\n";
cin >> a;
cout<<"Input number\n";
cin >> b;
cout << "answer"<< endl;
cents = a + b;
cout << cents;
return 0;