| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2834 人关注过本帖
标题:goto的错误用法
只看楼主 加入收藏
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

自己看法:
goto不能越过编译
而编译时就有符号表产生了
很长时间没上拉


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-14 19:03
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

aogun讲的挺清楚的...学习了..


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-07-14 19:04
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
这样他可以越过i=100
但初始化编译时做的,goto把除了分配空间以外的工作全部pass,这样产生矛盾
系统会不知道程序员的具体用意

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-14 19:05
xupeng
Rank: 1
等 级:新手上路
帖 子:4049
专家分:0
注 册:2006-2-12
收藏
得分:0 
以下是引用aogun在2006-7-14 14:08:33的发言:
我刚查了一下,在c++ primer第三版里面有比我说得详细一些的原因说明,你可以查查,在goto语句的解释那一节

偶没有这本书啊!


反清复明 http://xupeng.
2006-07-15 07:48
xupeng
Rank: 1
等 级:新手上路
帖 子:4049
专家分:0
注 册:2006-2-12
收藏
得分:0 
还有没有人踊跃回答呀!?

反清复明 http://xupeng.
2006-07-16 03:49
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
又仔细看了看,为什么不能越过初始化,却可以越过声明?
song4的解答能再详细一些么?

2006-07-16 11:07
xupeng
Rank: 1
等 级:新手上路
帖 子:4049
专家分:0
注 册:2006-2-12
收藏
得分:0 
谁能给我讲明白,我把所有的金币都给他!

反清复明 http://xupeng.
2006-07-16 13:22
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

呵呵,我那个是大概印象,跟aogun也不是很相近
等着你们回去查告诉我呢
编译阶段编译器会为各个变量等知道符号表
也就建立这些名字和某内存的联系,也就是分配空间
但是建立这个符号表是在第一次遍历时建立的,也在goto之前(如果是编译器只一次遍历的话,符号表也是最开始的)
而初始化是在第二次遍历时开始的
如果用初始化,goto会把第二次遍历的初始化越过,而程序员的用意却是要初始化
产生了矛盾.......
goto越过初始化等2次遍历做的,但是没越过给变量分配空间和检查语法语义词义等1次遍历做的检查

不对的话告诉我呀.我可不想不了了之


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-16 16:29
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 


不必要还是不用goto

2006-07-16 16:42
xupeng
Rank: 1
等 级:新手上路
帖 子:4049
专家分:0
注 册:2006-2-12
收藏
得分:0 
还是不明白

反清复明 http://xupeng.
2006-07-16 16:57
快速回复:goto的错误用法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033428 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved