C语言goto out语句

 今天来讲一讲goto。

goto是一种无条件跳转语句,常和if搭配使用,

直接上菜:

#include<stdio.h>
int main (void){
    int n;
    pos_1:
        printf("请输入一个正整数:");
        scanf("%d",&n);
        if(n<0)
        {
            printf("输入错误!\n");
            goto pos_1;
        }
        printf("成功输入正整数:%d\n",n);
        return 0;
}

语句标识:语句;//例子中语句标识是pos_1//感觉这个语句“;”结束的不是明显//重要记住

语句标识: (例子:pos_1:)。

goto 语句标识;//例子中是pos_1 //语句标号//语句标识

程序分析:

当程序遇到goto pos_1;则跳到 pos_1:语句标识处。

假设某次运行,依次输入 -2、-6、3 等数字,其运行结果如下:


请输人一个正整数:-2
输入错误!
请输入一个正整数:-6
输入错误!
请输入一个正整数:3
成功输入正整数:3 

 注意:使用 goto 语句可能会造成程序层次不清晰,可读性差,故在实际编程中,应尽量少使用或避免使用 goto 语句。

 

应用补充

1.goto out;

//goto  out;  类似一个特例

例程:

#include <stdio.h>

int main() //求前10奇数和
{
	int i;
	int sum = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i > 10)
			goto out; //这里条件满足就直接跳到out
		if (i % 2 == 0)
			continue;
		sum += i;
				
	}
out: //直接跳到这里然后输出
	printf("前10奇数和为%d", sum);
	
	return 0;
}

 goto out; //out是一个语句标识

out://注意“:”这个结尾的,out也是一个语句标识。标识名可以自取。

参考总结:

 1.goto,break和continue语句,C语言goto,break和continue跳转语句详解

2.c语言中break与continue的区别以及goto out_timel的博客-CSDN博客

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值