c语言如何跳回前面的某一个点重新从那里开始运行?

如【A】for(i=1;i<=n;【B】i++){a.......b.......c}当程序运行到b处时,我想跳回至【A】处,而不是【B】处,应该怎么做?continue...
【A】
for(i=1; i<=n; 【B】 i++)
{
a
.......
b
.......
c
}

当程序运行到b处时,我想跳回至【A】处,而不是【B】处,应该怎么做?
continue是回到【B】处吧?
break貌似跳出后就执行后面的程序了。。。。。
展开
 我来答
大野瘦子
高粉答主

2019-09-23 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34万
展开全部

用goto语句。

#include<stdio.h>

void main()

{

    int a;

    begin: scanf("%d", &a);  // goto语句的标号begin

    if(a<0 || a>9)

        goto begin;   // 如果用户输入的数不在0~9之间,则重新输入

    eles   

        printf("%d\n", a); // 如果用户输入的数在0~9之间,则输出该数

}

扩展资料:

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

程序结束

天云小店
推荐于2017-09-22 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:779万
展开全部

C语言中goto关键字可以实现跳转执行的功能。


goto语句是一种无条件转移语句,其使用格式如下:

goto  语句标号;


举例说明如下:

#include<stdio.h>
void main()
{
    int a;
    begin: scanf("%d", &a);  // goto语句的标号begin
    if(a<0 || a>9)
        goto begin;   // 如果用户输入的数不在0~9之间,则重新输入
    eles   
        printf("%d\n", a); // 如果用户输入的数在0~9之间,则输出该数
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-11
展开全部
方法1: 用goto语句,虽然goto语句尽量避免用,但是这里用goto最简洁:

begin:

【A】
for(i=1; i<=n; 【B】 i++)
{
a
.......
b
goto begin;

.......
c
}

方法2: 借用循环语句。

int b = 0;
do{
【A】
/* if(b == 1) b = 0; */

for(i=1; i<=n; 【B】 i++)
{
a
.......
b
b = 1;
.......
c
}

}while(b!=0);

方法3: 用longjmp远程跳转。方法1和方法2只适用于函数内,方法3支持在不同函数之间跳转,但是代码会看起来更加难以理解,所以强烈不推荐!

#include <setjmp.h>
jmp_buf env;

setjmp(env);
for(i=1; i<=n; 【B】 i++)
{
a
.......
b
longjmp(env, 10);

.......
c
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
378896796
2012-10-20 · TA获得超过975个赞
知道答主
回答量:73
采纳率:0%
帮助的人:25.8万
展开全部
“当程序运行到b处时,我想跳回至【A】处,而不是【B】处,应该怎么做”

b处是在一个for循环内,“continue是回到【B】处吧?”嗯,continue是跳出本次循环,即结束本次循环。
“break貌似跳出后就执行后面的程序了。。。。。”break语句是结束整个循环,当然这里说的是break语句所在的循环体,这里为for循环。
说说:goto 语句是跳出多层循环。。
跳回至【A】处,设置一个标号就行了,用goto语句就可以跳过去,但一般都不使用goto语句的,不利于程序的规程。
【A】处,不知道,你具体想干什么,但是你可以写个函数实现某种功能,在b处调用他就行了嘛!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丁家宜大宝
2012-10-20 · TA获得超过230个赞
知道答主
回答量:108
采纳率:0%
帮助的人:80.6万
展开全部
goto语句吧

#include"stdio.h"
int main(void)
{
int n=0;
printf("input a string :\n");
loop: if(getchar()!='\n')
{
n++;
goto loop;
}
printf("%d",n);
}
例如输入:ahifhoaishfoasdfkasg
然后回车Enter
输出:20

大概就是这样 中间的是我在百度上找到的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式