我做错了什么? C ++新手在这里

时间:2017-06-10 14:53:59

标签: c++

我以为输出会是70? (20 + 20 + 20 + 10 = 70)为什么这么大?

#include <iostream>
using namespace std;
int main()
{
    int a,b,c=20;
    int d=10;
    int sum = a+b+c+d;
    cout << sum;
    return 0;
}

2 个答案:

答案 0 :(得分:3)

问题是您没有初始化变量a和b。这意味着当您尝试运行程序时,计算机会在内存中查找要为每个程序使用的值,并且该数字可能非常大或非常小。试试这个:

#include <iostream>
using namespace std;
int main()
{
   int a = 20,b = 20,c=20; //here, a and b are defined
   int d=10;
   int sum = a+b+c+d;
   cout << sum;
   return 0;
}

答案 1 :(得分:0)

C 是您初始化为20的唯一一个变量,其他2个变量 ( a b )持有垃圾..

所以你的数学计算是未定义的行为。