码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C学习笔记(八)——高级跳转语句goto使用方法

时间:2015-07-23 10:43:09      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:objective-c   goto语句   语法   xcode   

      在我们学习C语言的时候,碰到一种程序跳转,叫做goto,goto可以跳到程序的任意地方。又到了后来,学习了程序设计方法学,不知哪一位计算机前辈(貌似是迪杰斯特拉),认为goto使得程序的跳转过于随意,使代码的逻辑变得混乱,所以不推荐使用goto。现在来到OC,在OC中也有goto,为了学习的完整性,我们也来学习下这种相对高级的跳转。

(一)代码一:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        int a=0;
        
    start:{
        a++;
        NSLog(@"a=%d",a);
    }
        if (a<5) {
            goto start;
        }
        
    }
    return 0;
}

输出结果:

技术分享


结果分析:

其实程序逻辑还是比较清楚的,首先start:作为一个lable,使用{},作为一个代码块,使用goto可以跳到该地方。在if语句中对a的值进行判断,如果a小于5,就会继续goto到start。会造成一种循环执行的效果。


(二)代码二:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        int a=0;
        
    start:{
        a++;
        NSLog(@"a=%d",a);
    }
        
        if (a<5) {
            goto start;
        }
        else{
            goto end;
        }
        
    end:{
        NSLog(@"a已经大于5");
    }
        
    }
    return 0;
}

输出结果:

技术分享


结果分析:goto可以使用不同的label跳到不同的代码块,实现对程序的逻辑控制。本例子分别跳到了start和end。由此可见,循环语句也可以使用条件判断+goto语句来实现。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Objective-C学习笔记(八)——高级跳转语句goto使用方法

标签:objective-c   goto语句   语法   xcode   

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47017341

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!