【问题标题】:What did I do wrong? C++ Newbie here [closed]我做错了什么? C ++新手在这里[关闭]
【发布时间】:2017-11-12 11:15:22
【问题描述】:

我以为输出会是 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;
}

【问题讨论】:

  • 不要将代码作为图像发布。 (P.S:a和b的值是未初始化的,你得到的任何结果都是随机的)
  • 我们不知道??
  • 你没有给ab赋值。请将代码发布到问题中,而不仅仅是图像。
  • 我会给你一个提示 int a,b,c =20 不会用值 20 初始化所有三个。请检查一次 stackoverflow.com/help/how-to-ask

标签: c++


【解决方案1】:

问题是您没有初始化变量 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;
}

【讨论】:

    【解决方案2】:

    C 是您初始化为 20 的唯一一个变量,其他 2 个变量 (ab) 拿着垃圾..

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 2013-06-28
      • 2023-01-19
      • 1970-01-01
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多