我真的不知道如何或为何这样工作的:C++变量声明
#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;
}
有实际产量为min
,INT_MAX
和min_index
我知道INT_MAX
是部分limits.h
等min
和INT_MAX
是相同的,但min_index没有给出值为什么它显示一个值。
'min_index'是未初始化的变量,包含随机垃圾。访问其价值展示未定义的行为。 “似乎工作”是未定义行为的一种可能表现形式。 –
@HGI在大多数情况下,您应该使用'endl'来代替'<<“\ n”'。 http://stackoverflow.com/a/213977/3141234 – Alexander
@Alexander我会说相反。大多数时候你不需要冲洗缓冲区并支付相关的成本。 – juanchopanza