c++goto语句为什么不能跳过变量定义语句
答案:3 悬赏:0 手机版
解决时间 2021-03-14 19:07
- 提问者网友:暮烟疏雨之际
- 2021-03-14 13:35
你要知道才回答啊 浪费表情 这是c++标准规定的
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-03-14 15:13
goto语句不能跨越变量的定义语句向前跳转,但向后跳过已经执行的变量定义语句则是合法的。
向前跳过未执行的变量定义语句,意味着变量可能在没有定义的情况下使用。
向后跳回到一个变量定义之前,则会使系统撤销这个变量,然后再重新创建它。
向前跳过未执行的变量定义语句,意味着变量可能在没有定义的情况下使用。
向后跳回到一个变量定义之前,则会使系统撤销这个变量,然后再重新创建它。
全部回答
- 1楼网友:像个废品
- 2021-03-14 17:25
lz 这是以前的一种用法
现在 随着c/c++ 的标准修改 已经不常用这个语法 了 因为这样会导致代码的读取顺序不方便 容易混乱,在老潭的书上也明确规定
由于goto语句能直接跳到程序的某一处开始执行,因此会导致许多不易差距的错误,并且使程序结构看上去不那么严密,松散很多。 少用
- 2楼网友:十鸦
- 2021-03-14 16:33
C++的源码先会转换成汇编代码,之后进行汇编和链接.那么这里就要探讨汇编语言了.
在汇编语言中,程序的数据段定义和代码段定义是分开的,数据段定义(数据段不包含堆栈段)必须在代码运行前分配完毕.所以,一个函数(在汇编中称为过程)的代码,永远是在数据段定义后才执行的,goto语句是代码段内容,不可能出现在数据段中,函数会先把需要的变量定义之后(也就是在数据段定义),才开始执行代码,因此无论这个goto在哪里,总是跳不过变量定义.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯