goto 订阅
其中标号需要申请,在对应的过程的申请的位置写label <标号>;其中,标号必须为byte型整数。在该段落内还需要有<标号>:表示将要转向的方向。 展开全文
其中标号需要申请,在对应的过程的申请的位置写label <标号>;其中,标号必须为byte型整数。在该段落内还需要有<标号>:表示将要转向的方向。
信息
中文名
Goto
外文名
Goto
应用语言
C,C#,Pascal等
Goto应用举例
Sample:(2005MSDN上的例子)#include int main(){int i, j;for ( i = 0; i < 10; i++ ){printf( "Outer loop executing. i = %d\n", i );for ( j = 0; j < 3; j++ ){printf( " Inner loop executing. j = %d\n", j );if ( i == 5 )goto stop;}}/* This message does not print: */printf( "Loop exited. i = %d\n", i );stop: printf( "Jumped to stop. i = %d\n", i );//stop: 就是标签return 0;}goto <标号>;其中标号需要申请,在对应的过程的申请的位置写label <标号>;其中,标号必须为byte型整数。在该段落内还需要有<标号>:表示将要转向的方向。
收起全文
精华内容
下载资源
问答
  • goto

    2020-01-03 20:18:50
    goto语句--无条件跳转语句,使用方法为 goto 语句标号 语句标号的命名规则和C语言的变量命名规则一样,例如goto lable_ 合法 goto 123 不合法 goto的使用场景最主要分为如下两种 向上跳转,实现循环 向下跳转,...

    一:前言

    goto是循环的本质,对应汇编中的jmp跳转,c中的while,do while 和for在程序编译时,都要拆解为汇编的jmp.

    goto语句--无条件跳转语句,使用方法为 goto 语句标号

    语句标号的命名规则和C语言的变量命名规则一样,例如goto lable_ 合法  goto 123 不合法

    goto的使用场景最主要分为如下两种

    • 向上跳转,实现循环
    • 向下跳转,实现中间部分代码不执行

    引用https://www.runoob.com/cprogramming/c-goto-statement.html的两张图片来描述这两种场景

    二:实例

    #include<stdio.h>
    void print(){
    lable:
    	print(" i am print func");
    }
    
    int main(){
    	int i = 1;
    	int total = 0;
    lable:
    	total += i;
    	i++;
    	if (i<=100)
    	{
    		goto lable; //向上跳转 ,实现循环
    	}
    	printf("%d\n",total);
    
    	if (i>5)
    	{
    		goto error; //向下跳转,实现中间部分代码不执行
    	}
    error:
    	printf("system is errot");
    }

    三:注意事项

    1.使用goto语句只能在同一个函数进行跳转,不能从一个函数跳转到另一个函数

     

    展开全文
  • GOTO

    2006-09-26 12:21:00
    * Creates a document with a Local Goto and a Local Destination. * * @author blowagie */ public class LocalGoto { /** * Creates a document with a Local Goto and a Local Destination. ...
    /*
     * $Id: LocalGoto.java,v 1.5 2005/05/09 11:52:44 blowagie Exp $
     * $Name:  $
     *
     * This code is part of the 'iText Tutorial'.
     * You can find the complete tutorial at the following address:
     * http://itextdocs.lowagie.com/tutorial/
     *
     * This code is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     *
     * itext-questions@lists.sourceforge.net
     */
    
    package com.lowagie.examples.objects.anchors;
    
    import java.awt.Color;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import com.lowagie.text.Chunk;
    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Font;
    import com.lowagie.text.FontFactory;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.pdf.PdfWriter;
    
    /**
     * Creates a document with a Local Goto and a Local Destination.
     * 
     * @author blowagie
     */
    
    public class LocalGoto {
    
    	/**
    	 * Creates a document with a Local Goto and a Local Destination.
    	 * 
    	 * @param args no arguments needed here
    	 */
    	public static void main(String[] args) {
            System.out.println("local goto");
            
            // step 1: creation of a document-object
            Document document = new Document();
            
            try {
                
                // step 2:
                PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("LocalGoto.pdf"));
                
                // step 3: we open the document
                document.open();
                
                // step 4:
                
                // we make some content
                
                // a paragraph with a local goto
                Paragraph p1 = new Paragraph("We will do something special with this paragraph. If you click on ", FontFactory.getFont(FontFactory.HELVETICA, 12));
                p1.add(new Chunk("this word", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 0, 255))).setLocalGoto("test"));
                p1.add(" you will automatically jump to another location in this document.");
                
                // some paragraph
                Paragraph p2 = new Paragraph("blah, blah, blah");
                
                // a paragraph with a local destination
                Paragraph p3 = new Paragraph("This paragraph contains a ");
                p3.add(new Chunk("local destination", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 255, 0))).setLocalDestination("test"));
                
                // we add the content
                document.add(p1);
                document.add(p2);
                document.add(p2);
                document.add(p2);
                document.add(p2);
                document.add(p2);
                document.add(p2);
                document.add(p2);
                document.add(p3);
            }
            catch(DocumentException de) {
                System.err.println(de.getMessage());
            }
            catch(IOException ioe) {
                System.err.println(ioe.getMessage());
            }
            
            // step 5: we close the document
            document.close();
    	}
    }
     
    展开全文
  • goto语句

    千次阅读 2020-09-04 21:39:04
    自从提倡结构化设计以来,goto就成了有争议的语句。首先,由于goto语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格。其次,goto语句经常带来错误或隐患。它可能跳过了某些对象的构造、变量的初始化、...

    自从提倡结构化设计以来,goto就成了有争议的语句。首先,由于goto语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格。其次,goto语句经常带来错误或隐患。它可能跳过了某些对象的构造、变量的初始化、重要的计算等语句,例如:

    goto state;
    String s1, s2;	// 被goto跳过
    int sum = 0;	// 被goto跳过
    …
    state:

    如果编译器不能发觉此类错误,每用一次goto语句都可能留下隐患。
    很多人建议废除C++/C的goto语句,以绝后患。但实事求是地说,错误是程序员自己造成的,不是goto的过错。goto 语句至少有一处可显神通,它能从多重循环体中咻地一下子跳到外面,用不着写很多次的break语句; 例如

    	{{{goto error;
    			}
    		}
    	}
    	error:

    就象楼房着火了,来不及从楼梯一级一级往下走,可从窗口跳出火坑。所以我们主张少用、慎用goto语句,而不是禁用。

    展开全文
  • c语言,goto用法,goto最强使用方法

    万次阅读 多人点赞 2017-10-17 17:51:27
    1:先说goto的基本语法 2:goto语句有啥毛病,goto来回这么跳,在程序庞大后,在调试时很难找到错误,所以E.W.Dijikstra在1965年提出结构化程序设计来规避这种错误,也使得代码更容易阅读。 3:goto容易出错,但其...

    1:先说goto的基本语法

    #include<stdio.h>
    #include<stdlib.h>
    
    int  main()
    {
        int i = 1;
        while(1)
        {
            printf("在while(1)里\n");
            while(i++)
            {
                printf("i = %d\n",i);
                if(i > 3)
                {
                    goto TiaoChu;
                }
            }
        }
    TiaoChu:
        printf("程序结束\n");
        return 0;
    }
    
    运行结果:
    标号位置
    在while(1)里
    2
    3
    4
    程序结束

    从运行结果我们明显可以知道goto用法,可以跳出多重循环,标号只是标号,程序到标号位置正常执行。


    2:goto语句有啥毛病,goto来回这么跳,在程序庞大后,在调试时很难找到错误,所以E.W.Dijikstra在1965年提出结构化程序设计来规避这种错误,也使得代码更容易阅读。


    3:goto容易出错,但其仍然有存在的价值,在单个函数中使用goto基本不可能出错,goto在程序反操作上很好用

    //函数成功返回1,失败返回0
    int fun()
    {
        FIL *a,*b;//文件体
        char *c,*d;
        
        a = fopen("***");
        if(a = NULL) return 0;
        
        c = malloc(1000);
        if(c = NULL) goto _q1;
        
        b = fopen("***");
        if(b = NULL) goto _q2;
        
        d = malloc(1000);
        if(d =NULL) goto _q3;
        return 1;
    q3:
        fclose(b);
    q2:
        free(c);
    q1:
        fclos(a);
        return 0;
    }

    这种方式很方便的进行了反操作,而不用重复的去几次反操作。

    我的实际例子:

    /*
    *函数功能:返回图片信息结构体p_inf
    *    参数:图片路径字符串picture_file_path
    *  返回值:返回图片信息,NULL时为读取图片信息失败
    *    作者:杨康
    */
    p_inf *readPicInf(char *pfilepath)
    {    
        FIL fileDescriptor;//文件体或者称文件描述符
        uint32_t readByteResult;//作为f_read的最后一个参数,接受读到了多少个字节
        char fOptResult;//接受文件操作返回值(也就是返回结果)
        p_inf *infReturn;//图片信息结构体,最后作为返回值
       
        fOptResult = f_open(&fileDescriptor, (const TCHAR*)pfilepath, FA_READ);
        if ((fOptResult != FR_OK) || (fileDescriptor.obj.objsize > BMPMEMORYSIZE)) 	return NULL;
      
        infReturn = (p_inf *)malloc(sizeof(p_inf));
        if (infReturn == NULL) goto INFRETURN_MALLOC_ERR;
        
        infReturn->pfilestring = (char *)malloc(fileDescriptor.obj.objsize);
        if (infReturn->pfilestring == NULL) goto INFRETURN_PFILESTRING_MALLOC_ERR;
     
        fOptResult = f_read(&fileDescriptor,infReturn->pfilestring,fileDescriptor.obj.objsize, (UINT *)&readByteResult);
        if ((fOptResult != FR_OK) || (readByteResult != fileDescriptor.obj.objsize)) goto F_READ_ERR;
    
        infReturn->pfilesize = fileDescriptor.obj.objsize;
        
        f_close(&fileDescriptor);
        return infReturn;
    F_READ_ERR:
        free(infReturn->pfilestring);
    INFRETURN_PFILESTRING_MALLOC_ERR:
        free(infReturn);
    INFRETURN_MALLOC_ERR:
        f_close(&fileDescriptor);
        return NULL;
    }
    展开全文
  • goto关键字

    2019-12-16 17:28:33
    文章目录1 goto关键字1.1 goto关键字分析1.2 goto副作用分析 1 goto关键字 1.1 goto关键字分析 根据项目经验来看,程序质量与goto的出现次数成反比。所以,一般有高手潜规则:禁用goto。我们对于goto最后的判决:...
  • php goto

    2019-04-29 14:22:31
    goto操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是goto之后接上目标位置的标记。PHP 中的goto有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一...
  • shell goto goto shell实用程序允许用户导航到别名目录,并且还支持自动完成。 这个怎么运作 在使用goto之前,您需要注册目录别名。 例如: goto -r dev / home / iridakos / development 然后转到该目录,...
  • goto语句及goto构成循环

    千次阅读 2016-10-09 21:47:14
    goto语句是无条件转向语句,语句标符可由字母数字下划线组成,单不能单独用整数作为标号。 如: goto label_1; 上面的语句是合法的,而 goto 123; 是不合法的。 goto语句一般有两种用途,第一种是和if一起...
  • goto语句用法

    万次阅读 2019-03-01 19:22:36
    goto语句:跳转到指定的位置。 如何书写goto语句 goto语句 其实和switch语句有一点书写的相似性, 下面是写法: 自定义名称 : 语句 ; 例如: kel: printf(“这个位置”); 上面这个语句中 kel 是自定义的,后面...
  • goto 用法

    千次阅读 2018-11-05 16:52:37
    文章来自:源码在线... 以上结果是输出鸠摩智;   goto可以用来跳转到同一个文件或作用域里面的另一位置;也可以用它来从循环中跳出来,替代break;  直接输出end后面的代码;   ...
  • python goto 用法

    2020-06-19 17:12:09
    python goto 用法 pip install goto-statement from goto import with_goto @with_goto def range(start, stop):     i = start     result = []     label.begin &...
  • Java中的goto

    万次阅读 2019-04-16 16:09:55
    一、 Java中的goto关键字        在C/C++中,goto常被用于跳出多重循环。但goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。实际上,自从“goto有害论”...
  • c++关键字goto

    千次阅读 2019-02-12 10:32:34
    文章目录goto基本功能跳转跳出本次循环,功能类似continue goto c++最强大的关键字之一,它可以使程序跳转到指定位置继续运行。 还记得上c++的课老师说不要随意使用goto,原则上尽量避免使用goto。 理论上可以证明...
  • go goto使用

    2020-02-20 15:26:45
    go goto用法 使用建议 尽量不要使用goto,因为会引起逻辑混乱,但是如果其他的逻辑控制都不满足你的需求,goto也是一种方法。 基本使用 代码示例: goto label1 return label1: fmt.Println("仙人抚我顶") 测试...
  • 无条件转移指令(GOTO语句)指令格式:GOTO+目标程序段号无条件转移指令用于无条件转移到指定程序段号的程序段开始执行,可用表达式指定目标程序段号。 例如:GOTO 10(转移到顺序号为N10的程序段)例如:#500=10GOTO #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,670
精华内容 9,468
关键字:

goto