为什么我的变量在我尚未将其设置为任何值时返回一个值?

Why is my variable returning a value when I haven't set it to any yet?

本文关键字:返回 一个 任何值 变量 我的 设置 为什么      更新时间:2023-10-16

我正在尝试学习C++,特别是如何声明和初始化变量。我写了这段代码,我不知道为什么变量 c 给出一个我还没有赋值的值。

#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!n";
int a, b;
a = 1;
b = 2;
int d(4);
int result;
auto num = b;
decltype(b) c;
result = a + b - d;
cout << c;
}

输出是 -2,但我没有在任何地方说明 c = -2!

如果尚未初始化变量,则它包含垃圾值。

在 C/C++ 中,函数中声明的值表示 CPU 堆栈上主内存的某些字节。这些字节通常是脏的,需要初始化。如果不这样做,则值是未定义的。你总是得到"-2"只是巧合。