局部变量和全局变量的名字相同时,变量在全局和局部的值是多少,如下两种情况
例一:main(){intx=0;voidfunction(){intx=1;;//在这个局部函数中,x的值是0还是1?};//执行完function,全局函数中,x的值...
例一:
main()
{
int x=0;
void function()
{
int x=1;
;//在这个局部函数中,x的值是0还是1?
}
;//执行完function,全局函数中,x的值是0还是1?
}
例二:
main()
{
int x=0;
void function()
{
x=1;
;//在这个局部函数中,x的值是0还是1?
}
;//执行完function,全局函数中,x的值是0还是1?
}
谢谢大家回答我的问题 展开
main()
{
int x=0;
void function()
{
int x=1;
;//在这个局部函数中,x的值是0还是1?
}
;//执行完function,全局函数中,x的值是0还是1?
}
例二:
main()
{
int x=0;
void function()
{
x=1;
;//在这个局部函数中,x的值是0还是1?
}
;//执行完function,全局函数中,x的值是0还是1?
}
谢谢大家回答我的问题 展开
5个回答
展开全部
你这两个程序,都是错的,不可能有代码能在main(){}函数中再去定义一个fuction函数,所以你的问题没法回答。再看看书中的题是怎样描述的!
更多追问追答
追问
好吧,这个程序是我瞎编的,大神,那我该怎么写一个全局变量和局部变量的例子呢?
追答
一、
void function()
{
int x=1; //在这个局部函数中,x的值1,它是个局部变量
}
main()
{
int x=0;
function() ; ;//执行完function,main函数中,x的值是0,它也是个局部变量
}
//在{}中定义的变量全是局部变量,各函数中的同名变量各不相关。打个比方:就是老张家的小三和老李家的小三同名,但各不相干!
二、不处在任何一对{}中的变量,就称之为全局变量,一般我们把这些全局变量定义在文件头。如:
int x=0;
void function()
{
x=1; //在这个局部函数中,x的值1,而且这个x是全局变量x
}
main()
{
int x=9; //这是个局部变量,全局变量x在这里被隐藏了,你是看不到的。
function() ; ;//执行完function,main函数中的x的值是9,而全局变量x的值是1
}
//全局变量遇到同名的局部变量,全局变量在这个函数中暂时消失!只要出了这个函数就会再现
展开全部
首先这个题目是有问题的,C不支持函数嵌套定义,没有全局函数。
其次所谓全局变量,应该放在任何一个函数之外申明。主函数main中的变量虽然是在程序的全生命周期存在的,但是也不能够被外部函数访问。
最后,函数内声明的局部变量是优先与全局变量的。
其次所谓全局变量,应该放在任何一个函数之外申明。主函数main中的变量虽然是在程序的全生命周期存在的,但是也不能够被外部函数访问。
最后,函数内声明的局部变量是优先与全局变量的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个执行完function,全局函数中,x的值是0;例二中x的值是1
例1中的变量x是在函数的栈空间,所以不影响全局变量x
例2中因为直接对全局变量赋值了,所以全局变量的值变成1
例1中的变量x是在函数的栈空间,所以不影响全局变量x
例2中因为直接对全局变量赋值了,所以全局变量的值变成1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例一:
main()
{
int x=0;
void function()
{
int x=1;
;//在这个局部函数中,x的值是1;
}
;//执行完function,全局函数中,x的值是0;
例二:
main()
{
int x=0;
void function()
{
x=1;
;//在这个局部函数中,x的值是1;
}
;//执行完function,全局函数中,x的值是1;
同名变量中全局变量与局部变量的作用域是不同的。
全局变量的作用域在它声明的位置起,一直到程序的结束;
局部变量的作用域在它定义的位置起,直到函数或循环结束;
在循环中或函数中定义的变量,只在该循环或函数中起作用,在该循环或函数中的同名全局变量将被局部变量屏蔽,同名局部变量的作用域之外就是全局变量的作用域,变量的值是全局变量的值;
希望能帮助你。
}
main()
{
int x=0;
void function()
{
int x=1;
;//在这个局部函数中,x的值是1;
}
;//执行完function,全局函数中,x的值是0;
例二:
main()
{
int x=0;
void function()
{
x=1;
;//在这个局部函数中,x的值是1;
}
;//执行完function,全局函数中,x的值是1;
同名变量中全局变量与局部变量的作用域是不同的。
全局变量的作用域在它声明的位置起,一直到程序的结束;
局部变量的作用域在它定义的位置起,直到函数或循环结束;
在循环中或函数中定义的变量,只在该循环或函数中起作用,在该循环或函数中的同名全局变量将被局部变量屏蔽,同名局部变量的作用域之外就是全局变量的作用域,变量的值是全局变量的值;
希望能帮助你。
}
追问
你回答的也非常好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实践出真知,你自己试试啊,在你需要知道变量值的地方写输出变量值语句就行了
追问
我电脑没装编程软件啊,只好让你们试
追答
好吧,楼上正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询