break可以跳出goto组成的循环吗

[复制链接]
查看11 | 回复5 | 2012-7-12 13:37:35 | 显示全部楼层 |阅读模式
首先goto只是强制跳到某行执行,并不是循环结构,但是你可以通过goto弄出一个循环,而这个循环是不能用break跳出的,给以下代码你参考一下: int n = 0;int main(){BEG: n++; if (n < 10) {printf("%d ", n);goto BEG; } printf("goto end\n"); return 0;}...
回复

使用道具 举报

千问 | 2012-7-12 13:37:35 | 显示全部楼层
break 和 goto 的实现原理都是 JUMP,即跳转。原则上goto组成的多次执行的代码不能叫循环,break所说的循环特指while, for, do .. while 之类的语言定义的循环体。...
回复

使用道具 举报

千问 | 2012-7-12 13:37:35 | 显示全部楼层
goto是路径控制语句,break用来跳出循环(for while) ,不能,建议goto前加判读语句,从而更换路径!其实goto和if else的功能很相似,建议不要使用goto 会破坏程序的可读性...
回复

使用道具 举报

千问 | 2012-7-12 13:37:35 | 显示全部楼层
break只能用于for while switch这三种代码,不能用于goto...
回复

使用道具 举报

千问 | 2012-7-12 13:37:35 | 显示全部楼层
什么是goto组成的循环break只能跳出一层循环 goto可以跳出任意多层循环,这也是goto至今被保留的原因之一吧...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行