提问人:Roshan R. Prasad 提问时间:9/19/2023 更新时间:9/19/2023 访问量:58
我用cpp编写了这个程序,当我打印变量“amount”时,我得到了一些不寻常的值。为什么会这样?
I write this program in cpp and when I print the variable `amount` I get some unusual value..why is it?
问:
# include <iostream>
int main(){
int value = 0, amount, set = 0;
std::cout << amount << std::endl;
}
在执行此文件时,我得到结果,为什么会这样??.650
我只是想用 c++ 打印一个变量!!
答:
6赞
Remy Lebeau
9/19/2023
#1
您的变量是未初始化的,因为您没有被赋予任何值,因此您的代码表现出未定义的行为。该变量具有以前存储在它占用的内存块中的任何随机值。amount
3赞
Tarun Prasad
9/19/2023
#2
在 C++ 中,每当声明未显式赋值的变量时,它都包含“垃圾数据”。
在声明变量而不初始化变量时,其值未定义,并且可以包含先前操作遗留的任何任意数据或声明时的内存状态。这些数据通常是不可预测的,可能会导致程序中出现错误和意外行为。
这正是您的变量所发生的情况。amount
评论
0赞
john
9/19/2023
严格来说,只有这个答案的最后一段是正确的。剩下的就是半真半假了。C++ 所说的只是使用未初始化的变量会导致未定义的行为。
评论
value
set
amount
0
value
set
0
value
set
amount