【问题标题】:Declared int has random starting value [duplicate]声明的int具有随机起始值[重复]
【发布时间】:2019-01-18 19:18:34
【问题描述】:

我对 C++ 非常陌生,并且刚刚开始。 我正在做一个简单的练习,我需要声明一个 int 类型的变量并添加到它。

基本上整数的起始值为 44,我不知道为什么。

练习来自我正在关注的一本书。

这是我的代码:

#include <iostream>
using namespace std;

int main()
{
   int sum;
   sum = sum + 1;
   cout << sum;
   return 0;
}

如果我运行以下代码,我会得到 45 的答案,这对我来说毫无意义。

我想了解为什么 sum 的值是 44,如果没有赋值的话。

我正在使用 VScode 和 g++ 编译器。

谢谢!

【问题讨论】:

  • 你需要写'int sum = 0;'如果你想初始化它,否则它有一个未定义的值,它可以是任何东西,而不仅仅是 44。

标签: c++ variables int


【解决方案1】:

你必须首先初始化变量。 正确的代码是:

int sum = 0;
sum = sum + 1;

在您的情况下,您有 undefined behavior

【讨论】:

  • 您好,谢谢,我知道您需要先执行此操作,但是我正在执行的任务希望我执行上面的代码,我只是好奇它为什么会自动分配44 到它。
  • 它没有被分配,它只是内存中那个地址已经存在的东西。可以是任何东西。
猜你喜欢
  • 2014-01-10
  • 2017-08-10
  • 2014-10-09
  • 1970-01-01
  • 2021-09-29
  • 2014-06-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
相关资源
最近更新 更多