#include<iostream>
using namespace std;
int x;
void cude(void)
{ x=x*x*x ;
}
void main (void)
{ x=5;
cude ( );
cout<<x<<endl;
}
上面这段程序输出的是125,在主函数调用cude时,为什么cude中的x也是5,这几个x的内存是如何分配的?
谢谢!
谢谢!但是我刚才试了一下在函数里面再一次定义int x,然后编译的时候发生了错误,不知道是为什么呢?
追答不会有问题啊,你是怎么写的?报了什么样的错。
追问#include
using namespace std;
int x;
void cude(void)
{
int x;
x=x*x*x ;
}
void main (void)
{ x=5;
cude ( );
cout<<x<<endl;
}
就是在cude里面加了一个int x,然后就不能运行了,下面也没有显示什么错误。。。
不会有问题啊。整个编译只有一个warning,提示cude里面的x没有被初始化。
程序运行结果输出5
哦,cude里面int x 没有初始化,给他赋一个初值就可以了。谢谢你!