| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 823 人关注过本帖
标题:关于 goto
只看楼主 加入收藏
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:6 
关于 goto
#include<stdio.h>
int main(void)
{
    char ch;
    while((ch=getchar())!='#')
    {
        if(ch=='\n')
            continue;
        printf("step 1\n");
        if(ch=='c')
            continue;
        else if(ch=='b')
            break;
        else if(ch=='g')
            goto laststep;
        printf("step 2\n");
laststep:printf("step 3\n");
    }
    printf("done\n");
    return 0;
}




用这个goto用法,输入q时,为什么会输出step 3?
搜索更多相关主题的帖子: continue return 
2014-10-26 11:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
自己写的代码,自己都读不清处理逻辑,还指望别人能懂?把代码写清晰了是第一要务,你也不是刚学一天两天的人了,写成这样。

滥用continue,在不需用continue的地方写continue,还要用goto,if逻辑混乱,各种坏习惯集大成于一体,也算经典示范了。

授人以渔,不授人以鱼。
2014-10-26 11:34
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
你这个程序是想干什么?
2014-10-26 14:25
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
收藏
得分:0 
回复 2 楼 TonyDeng
这个不是我写的,是一本书上的例题,是关于goto语句的,程序本身没有什么具体用途,我只是不懂再输出q时,怎么也输出step 3?
2014-10-26 22:38
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
收藏
得分:0 
回复 3 楼 soulmate1023
是一本书上关于goto的例题,程序本身没什么作用,我只是在那没弄明白,就是step 3那
2014-10-26 22:40
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
收藏
得分:20 
这个是C Primer plus上第七章复习题第9题吧,前两天刚看过.
输出step3的原因是 goto是跳转,不是选择
标签那一行也会像普通语句那样被执行,并不是一定要goto跳过来才会执行
2014-10-27 02:09
我FEI
Rank: 2
等 级:论坛游民
帖 子:87
专家分:27
注 册:2013-11-18
收藏
得分:0 
回复 6 楼 Adws
还真是那题,多谢
2014-10-27 21:14
快速回复:关于 goto
数据加载中...
 
   



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

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