C++程序中关于long类型的定义出现了一个问题,请教大神解惑
一个简单的C++程序
#include<iostream>
using namespace std;
int main()
{
int base,exponent;
//long result=1;
long result; //result不赋初值的话会给出-858993460
cout<<result<<endl;
cout<<"Enter base and exponent : "<<endl;
cin>>base>>exponent;
if(exponent<0)
{
cout<<"exponent can't be smaller than 0"<<endl;
return -1;
}
else
for(int cnt=1;cnt<=exponent;++cnt)
{
result *=base;
}
cout<<base<<" raised to the power of"<<exponent<<":"<<result<<endl;
return 0;
}
但是long类型的上下限是-2147483648~2147483647,本人所用为32位win7系统,编程环境:VC6.0。问题是:result的初值如果不赋的话,多次尝试均为-858993460,我现在想知道为什么会是这个值,是随机产生的吗?
求大神解惑,谢谢!