c++在主函数中定义的变量能在调用函数中起作用吗

假如我要在主函数中调用一个函数,我定义一个变量,它的作用范围能到这个被调用函数中吗?还有函数声明一定要在所有语句外吗,在主函数里也不行?
我在主函数中定义的变量,在主函数中嵌套调用另一个函数,这个变量作用域无法到达另一个函数?

第一个:你定义的变量必须是全局变量
第二个:不能在主函数里定义函数,可以声明; 如果函数定义在主函数前,就不用在主函数里声明函数。
是的,如果你在主函数里定义的不是全局变量,在你自主定义的函数里那个变量是不可见的。也就是无作用域
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-16
和下面的函数的不能是一个样的··
void swap(int p1,int p2)
{int p;
p=p1;
p1=p2;
p2=p;}
只是交换了值而已。。。
同你的那个,只是交换了p1、p2所代表的地址而已,真正的地址不会因此交换的。。
正道还是以改变实参指针变量所指变量的值 。。没办法。。
void swap(int *p1,int *p2)
{int p;
p=*p1;
*p1=*p2;
*p2=p;}
是C++的话,引用是很好的选择。。
void swap(int p1,int p2)
{int p;
p=p1;
p1=p2;
p2=p;}
第2个回答  2010-09-11
其实是可以的,你只需要将那个变量传递到你的函数中区就行了。
定义函数方法:
返回值类型 函数名(形参类型 形参)
{
函数主体;
}

调用方法:
函数名(实参);

例如下面返回两个数中较大值的函数:
int Max(int a,int b)
{
return a>b? a:b;
}

调用时,只需要写成
int t=Max(m,n);
m,n是两个自定义的int型变量,t是m,n中的较大值本回答被网友采纳
第3个回答  2010-09-11
函数内定义的变量叫做局部变量,生存周期一直到函数执行完毕。

你可以用全局变量解决这个问题。
在函数外定义~
第4个回答  2010-09-11
一楼就是答案。你调试一下或者翻一下书不就有了?
相似回答