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博客
————————————————
版权声明:本文为CSDN博主「纸带」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39657978/article/details/120804165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值