c语言goto标签作用域
#include<stdio.h>intmain(){inty=0;gotoa;{inty=3;a:printf("now%d\n",y);}}为什么输出一个-85899...
#include <stdio.h>
int main(){
int y = 0;
goto a;
{
int y = 3;
a :
printf("now%d\n",y);
}
}
为什么输出一个-858993460的数。 展开
int main(){
int y = 0;
goto a;
{
int y = 3;
a :
printf("now%d\n",y);
}
}
为什么输出一个-858993460的数。 展开
展开全部
这程序语法不对,不可能运行!
因为中间显然是一个分结构,使其mian函数的局部变量y与分结构的局部变量y没有任何关系,在分结构中的y是输出语句printf的输出对象;而如果执行goto a;语句,势必跳过分结构的局部变量y的定义,故输出对象就成未定义。
因为中间显然是一个分结构,使其mian函数的局部变量y与分结构的局部变量y没有任何关系,在分结构中的y是输出语句printf的输出对象;而如果执行goto a;语句,势必跳过分结构的局部变量y的定义,故输出对象就成未定义。
更多追问追答
追问
看到书上goto语句标签作用域对函数中任何地方代码可见不理解,写着试试的,话说不可见是什么意思,谢谢
我编译通过并运行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询