发布网友 发布时间:2022-04-28 13:05
共5个回答
热心网友 时间:2023-05-04 06:24
goto语句使用:
1、C#语言中
using System;
using static System.Console;
class Program
{
public static Int32 Main(String[]args){
int n=0;
WriteLine("input a string:\n");
loop:if(Read()!='\r'){
n++;
goto loop;
}
WriteLine("{0}",n);
return 0;
}
}
2、C语言中
统计从键盘输入一行字符的个数。
#include<stdio.h>
int n=0;
int main(void){
printf("input a string:");
loop:if(getchar()!='\n'){
n++;
goto loop;
}
printf("output:%d\n",n);
}
例如输入:abcdefghijklmnopqrstuvwxyz
然后回车Enter
输出:26
本例用if语句和goto语句构成循环结构。当输入字符不为'\n'时即执行n++进行计数。
然后转移至if语句循环执行,直至输入字符为'\n'才停止循环。
3、汇编语言中
goto语句与汇编语言里面的jmp指令相同,(无条件转移)
1+2+3........+8+9+10
NASM描述:
mov ax,1
mov bx,0
start:add bx,ax
inc ax
cmp ax,11;比较指令
jzend;零转移
jmp start
end:
;
;start:end:是标号
Pascal
格式goto<标号>;
其中标号需要申请,在程序开头写label<标号1>,<标号2>,……;
其中,标号必须为四位以内的正整数。
在该段落内还需要有<标号>:语句表示将要转向的方向。
4、delphi中
//Goto语句用在跳转行号,可以跳转到当前结构层内任意位置.
//必须在声明处用label关键字声明行号.
//由于Goto语句会破坏程序的结构,不推荐使用.
var
a,b:Integer;
label
X,Y;
begin
if a>b then
goto X
else
goto Y;
X:
WriteLn('a>b');
Y:
WriteLn('b>a');
end;
goto语句无条件转移语句,其一般格式如下:goto语句标号;其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto语句配合使用。
如:label:i++;
loop:while(x<7);
goto:loop
C语言不*程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向,转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移,构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。
参考资料来源:
百度百科——goto语句
热心网友 时间:2023-05-04 06:25
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号;
其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
#include"stdio.h"goto语句在上例中的作用就是当接收用户输入的字符不是回车符的时候就跳转到if语句进行判断用户输入的字符,也就是说如果用户输入回车,那么就输入结束,转而执行printf("%d",n);
热心网友 时间:2023-05-04 06:25
要回到哪里,就在哪里加个标号,例如:
label1: /* <----- 这里加个标号, goto 语句就可以转到这里了 */另,使用goto语句需要加特殊的抬头。
热心网友 时间:2023-05-04 06:26
goto只能函数内部跳,当然不能跳到另一个函数或者跳到另一个C文件热心网友 时间:2023-05-04 06:27
goto的用法前面已经有人回答了,我就不重复了。