注册 登录
编程论坛 C++教室

[求助]结果是这样的吗?

谁与争疯 发布于 2007-05-05 22:31, 415 次点击
书上说下面的程序结果是12345,我在VC中得出 -858993460,是否因编译器不同而结果不同?

#include<iostream.h>
int func1();
int func2();
void main()
{
func1();
cout<<func2()<<endl;
}
int func1()
{
int n=12345;
return n;
}
int func2()
{
int m;
return m;
}
5 回复
#2
lovecsky2007-05-05 22:54
12345是通过cout<<func1()<<endl; 得到的。
-858993460应该是内存问题,声明变量m后,栈开始分配内存,但没有赋值,因此返回时应该是个随即数,但随即并不是没有规律,与栈有关。
#3
weishj2007-05-05 23:02
楼上正确
#4
peswe2007-05-07 13:19
就是,你的书是盗版的吧,怎么看结果也不可能是12345啊,那是函数fun1()中的结果,可是你并没有输出,输出的是fun2(),而其中的变量m你又没负值,当然就是个不定值了!~
#5
yuyunliuhen2007-05-07 13:57
#6
I喜欢c2007-05-07 17:12

这程序....
1