问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么goto 可以跳过定义但不能跳过赋值?eg:goto 可以跳过int i;但不能跳过int i=5。

发布网友 发布时间:2022-05-07 14:31

我来回答

2个回答

热心网友 时间:2023-11-05 00:50

int i = 5;对i进行了初始化 ,跳过会带来不可预知的问题,所以最好不要跳 ,一般建议变量定义都放在最开始 不要在中间定义 避免出现问题

热心网友 时间:2023-11-05 00:51

语法上允许跳过。问题是跳过后的计算结果是不是你想要的。
例如:
#include<stdio.h>
void main()
{
int i;
i=6;
if (i<5) goto Lab1;
goto Lab2;
{int i=5;
Lab2:;printf("Lab2: %d\n",i); // 越过了 i=5, 则 i=0 了。
}
Lab1:; printf("Lab1: %d",i);
}追问如果你在一开始没有定义 i 。而只在后面给i初始化int i=5;那么你跳过之后,编译时会出现一个错误,说没有定义 i ;而如果只在后面定义 int i;那么goto跳过之后,编译无错误,执行的答案中i是一个随机值。所以有点不明白~

追答C 语言 变量要先声明,后使用。未声明却使用,则是语法错误。

C 语言 程序结构有块的概念。用 花括号括起的部分叫块。每块头部声明的是本块的局部量。块内未声明的量,要到本块外层去找声明。
例如:
{ // 块1
int i,j;
i=6;j=7;
{ // 块2
int i=5;
// 块2 里的i 不同于 块1的i ,块2 里的i 是局部量
// 块2 里没有声明 j, 块2 里的j 要用 块1里的j
}
// 这里又回到块1,这里用块1的i
}

你需要复习一下:变量的作用域,全局量,局部量 方面的知识。

热心网友 时间:2023-11-05 00:50

int i = 5;对i进行了初始化 ,跳过会带来不可预知的问题,所以最好不要跳 ,一般建议变量定义都放在最开始 不要在中间定义 避免出现问题

热心网友 时间:2023-11-05 00:50

int i = 5;对i进行了初始化 ,跳过会带来不可预知的问题,所以最好不要跳 ,一般建议变量定义都放在最开始 不要在中间定义 避免出现问题

热心网友 时间:2023-11-05 00:51

语法上允许跳过。问题是跳过后的计算结果是不是你想要的。
例如:
#include<stdio.h>
void main()
{
int i;
i=6;
if (i<5) goto Lab1;
goto Lab2;
{int i=5;
Lab2:;printf("Lab2: %d\n",i); // 越过了 i=5, 则 i=0 了。
}
Lab1:; printf("Lab1: %d",i);
}追问如果你在一开始没有定义 i 。而只在后面给i初始化int i=5;那么你跳过之后,编译时会出现一个错误,说没有定义 i ;而如果只在后面定义 int i;那么goto跳过之后,编译无错误,执行的答案中i是一个随机值。所以有点不明白~

追答C 语言 变量要先声明,后使用。未声明却使用,则是语法错误。

C 语言 程序结构有块的概念。用 花括号括起的部分叫块。每块头部声明的是本块的局部量。块内未声明的量,要到本块外层去找声明。
例如:
{ // 块1
int i,j;
i=6;j=7;
{ // 块2
int i=5;
// 块2 里的i 不同于 块1的i ,块2 里的i 是局部量
// 块2 里没有声明 j, 块2 里的j 要用 块1里的j
}
// 这里又回到块1,这里用块1的i
}

你需要复习一下:变量的作用域,全局量,局部量 方面的知识。

热心网友 时间:2023-11-05 00:51

语法上允许跳过。问题是跳过后的计算结果是不是你想要的。
例如:
#include<stdio.h>
void main()
{
int i;
i=6;
if (i<5) goto Lab1;
goto Lab2;
{int i=5;
Lab2:;printf("Lab2: %d\n",i); // 越过了 i=5, 则 i=0 了。
}
Lab1:; printf("Lab1: %d",i);
}追问如果你在一开始没有定义 i 。而只在后面给i初始化int i=5;那么你跳过之后,编译时会出现一个错误,说没有定义 i ;而如果只在后面定义 int i;那么goto跳过之后,编译无错误,执行的答案中i是一个随机值。所以有点不明白~

追答C 语言 变量要先声明,后使用。未声明却使用,则是语法错误。

C 语言 程序结构有块的概念。用 花括号括起的部分叫块。每块头部声明的是本块的局部量。块内未声明的量,要到本块外层去找声明。
例如:
{ // 块1
int i,j;
i=6;j=7;
{ // 块2
int i=5;
// 块2 里的i 不同于 块1的i ,块2 里的i 是局部量
// 块2 里没有声明 j, 块2 里的j 要用 块1里的j
}
// 这里又回到块1,这里用块1的i
}

你需要复习一下:变量的作用域,全局量,局部量 方面的知识。

热心网友 时间:2023-11-05 00:50

int i = 5;对i进行了初始化 ,跳过会带来不可预知的问题,所以最好不要跳 ,一般建议变量定义都放在最开始 不要在中间定义 避免出现问题

热心网友 时间:2023-11-05 00:51

语法上允许跳过。问题是跳过后的计算结果是不是你想要的。
例如:
#include<stdio.h>
void main()
{
int i;
i=6;
if (i<5) goto Lab1;
goto Lab2;
{int i=5;
Lab2:;printf("Lab2: %d\n",i); // 越过了 i=5, 则 i=0 了。
}
Lab1:; printf("Lab1: %d",i);
}追问如果你在一开始没有定义 i 。而只在后面给i初始化int i=5;那么你跳过之后,编译时会出现一个错误,说没有定义 i ;而如果只在后面定义 int i;那么goto跳过之后,编译无错误,执行的答案中i是一个随机值。所以有点不明白~

追答C 语言 变量要先声明,后使用。未声明却使用,则是语法错误。

C 语言 程序结构有块的概念。用 花括号括起的部分叫块。每块头部声明的是本块的局部量。块内未声明的量,要到本块外层去找声明。
例如:
{ // 块1
int i,j;
i=6;j=7;
{ // 块2
int i=5;
// 块2 里的i 不同于 块1的i ,块2 里的i 是局部量
// 块2 里没有声明 j, 块2 里的j 要用 块1里的j
}
// 这里又回到块1,这里用块1的i
}

你需要复习一下:变量的作用域,全局量,局部量 方面的知识。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 关于英语课前五分钟演讲(亲,最好比较贴近生活的,不要太难的) 简单C++问题,关于goto语句的错误用法 英语演讲稿,大概五分钟左右吧 话题要有趣一点 (高一) goto语句里可以初始化吗? C++里goto问题? 高中英语课前5分钟演讲稿 为什么goto不能跳过初始化操作 一篇五分钟左右的英语演讲稿,四级水平,本周三晚上之前,写得好我会... 一篇写Taylor swift(泰勒斯威夫特)的英语课前演讲稿 不用太长 5分钟左右就好 求一篇英语演讲稿,内容积极向上,演讲时间为3到5分钟,我是大一的,课前... 急求!用健美操基本步伐自编32个节拍动作,要求方向变化不少于4次,具 ... 从宁波去绍兴开私家车去可以去吗 去浙江省宁波市象山县探亲要办理哪些防疫手续? 骆宾王读后感? 为国捐躯的英雄故事,500字左右,不是读后感,单独的故事 端午节读后感? 歌颂快乐生活激励的优雅唯美诗句 认识+赞美生命+懂得保护自我+掌握生命技巧+的诗歌 QQVIP到了VIP几永久免费? 怎么样才能成为永久免费的vip qq会员 goto的优点与缺点? 英语课前演讲稿,大概150字左右 c++中为什么不允许跳过变量初始化语句 求英语课前演讲稿一篇,四五分钟就行,关于阳光或光明的,谢谢 C语言goto语句跳过了我的gets函数,谁知道怎么解决? 关于c++初始化与goto语句的问题,如下,谢谢! c 语言goto语句死循环 我写了一个课前五分钟的英语演讲稿,请各位速速帮我看看,明天就得上场了!~帮我看看有木有语法上啊,或者 Goto的注意问题 我是一名高二学生,自认为长得还不赖,教我英语的是一名新来的年轻老师,长得非常漂亮,班上的男生都很喜 求高一英语课前五分钟的演讲稿,题目是“We are just beginning” c#中goto跳过的还会执行吗 与美女老师的邂逅53 goto 跳过 1996年*成立“中国互联*息中心”负责我国的域名管理,中国互联网中心的英文缩写是? c++goto语句为什么不能跳过变量定义语句 排骨松茸还可以加什么一起煲汤 爬墙检讨书怎样写 中国互联网络信息中心与万网有什么区别 来看美女老师的