| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12882 人关注过本帖
标题:goto语句的用法
只看楼主 加入收藏
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
结帖率:84%
收藏
已结贴  问题点数:4 回复次数:8 
goto语句的用法
#include<stdio.h>
#include<math.h>
void main()
{
    int i,j,c=0;
    for (i=2;i<100;i++)
    {
        for (j=2;j<=i/2;j++)
            if( i%j==0) goto ex;
            printf("%4d",i);
            c++;
            if (c%5==0)
                printf("\n");
ex:;//上面那goto ex是指跳转到ex嘛,可是这里为什么是ex:而且“:”还不能去掉。
    }
}
搜索更多相关主题的帖子: include 
2013-03-30 09:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
ex是行标识,goto是把指令流程跳转到这一行上继续执行。ex后面带冒号是这种行标识规定的语法,不然编译器不知道这个是行标识。

授人以渔,不授人以鱼。
2013-03-30 09:51
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
收藏
得分:0 
哦,谢谢
2013-03-30 10:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
编译器的动作是这样的:它扫描整个源代码文本,发现有goto ex语句,那么就会在这个函数中寻找有ex:的行,设置程序执行到goto行时可以跳转到相应的行上。这里ex:其实就相当于普通编辑器中的行号,只不过不是用数字形式罢了,明白了这个性质,就知道不能有多个同样标识的行。

[ 本帖最后由 TonyDeng 于 2013-3-30 10:16 编辑 ]

授人以渔,不授人以鱼。
2013-03-30 10:14
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
收藏
得分:0 
哦,对了,还有goto loop和上面的goto ex用法上有什么区别吗?
2013-03-30 10:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不同的行标识而已。不过,结构化编程尽量回避使用goto,先不要弄太多这个。goto语句一般用于从嵌套循环深层跳转到外面的,你以后写多了程序,慢慢就明白。

授人以渔,不授人以鱼。
2013-03-30 10:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
太多的goto 就把自己绕迷糊了

DO IT YOURSELF !
2013-03-30 10:37
伍则帝
Rank: 3Rank: 3
来 自:四川省南充市高坪区
等 级:论坛游民
威 望:6
帖 子:100
专家分:34
注 册:2013-3-16
收藏
得分:0 
哦,我看到了、
2013-03-30 10:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wp231957在2013-3-30 10:37:25的发言:

太多的goto 就把自己绕迷糊了

goto有风险,特别是现在允许变量声明和定义放在函数的任意位置时,一旦goto跳过了声明或定义部分而后面语句又用到……

授人以渔,不授人以鱼。
2013-03-30 10:47
快速回复:goto语句的用法
数据加载中...
 
   



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

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