那是凑巧而已,你虽然没有初始化c, 但保存c的那块内存里正好是2,所以就输出了2,不同的时间,不同的环境可能有不同的值。这类操作都是无意义的,结果也是不确定的
#include
using namespace std;
int main()
{
int a=3,b=4,c;
cout< system("pause");
return 0;
}
就这个代码,在VS2010下运行得到的结果是344302994,所以说不必纠结了,结果就是不确定的,只是偶然内存中就存储了这个值而已
只定义赋值,到底输出什么是不确定的。
因为C和C++的变量定义是只分配内存,不作初始化的,而basic语言会把整型变量开始自动写成0。
也就是那个地方到底输出了什么,其实是看本来里面到底存储的是什么。
你看的什么书,用的什么编译器,我这里输出和你不一样,不是2