gpt4 book ai didi

C++ 变量声明

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:21 24 4
gpt4 key购买 nike

我不太确定这是如何或为什么会这样:

#include <stdio.h>
#include<stdlib.h>
#include <limits.h>
#include <iostream>
using namespace std;

int main() {

int min = INT_MAX, min_index;

cout << min <<"\n";
cout << INT_MAX << "\n";
cout << min_index <<"\n";


system("pause");
return 0;
}

minINT_MAXmin_index 的实际输出我知道 INT_MAXlimits.h 的一部分,所以 minINT_MAX 是相同的,但 min_index 是'给定一个值,为什么它显示一个值。

最佳答案

C++ 不是一种内存安全的语言。无法保证变量在使用前已被赋值。

您所看到的 min_index 的打印值是 min_index 内存中的值,恰好是上次内存中留下的之前设置过。

从这样一个初始化的变量中读取是“未定义的行为”,因为这个程序的每次调用都可能导致不同的、意想不到的结果(取决于最后一次使用最终分配给 min_index< 的内存)。

关于C++ 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42290094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com