如何在c语言中跳出for循环

如题,现在用数组接收一串数,我用的是for循环,比如说要求是当输入-1的时候意味着输入结束,并且-1不会再被接受,想编的是一个这样的语句:
for(i=0;i<20;i++)
{scanf("%d",&num[i]);
while(num[i]==-1)
break;}
如上就是我的设想,用一个break语句跳出来,这是随手编的,严谨性就不要吐槽了,只是想知道如何在for语句中跳出来,并且就算for的条件没满足,求指教,谢谢。

在C语言中可以使用break,和return语句结束循环

代码示例 break

int i;for(i=0; i<10; i++){    if(i>3)    // 如果i>3,跳出for循环,执行printf语句        break;  }printf("%d", i);

i>3的时候结束循环;

用return语句(一般用在函数体中,作为函数的返回值跳出该函数,也即跳出了函数体中的for循环)

int fun(int a){    int i;    for(i=0; i<a; i++)    {        if(i>3)    // 如果i>3,则函数执行完毕,并返回变量i的值,也即跳出了for循环            return i;      }}

  拓展资料

C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。

C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐,成为最近25年使用最为广泛的编程语言[2]。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持匹配ANSI C的语法。

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-29

跳出for循环主要有以下2中方式:

1、用break语句。如:

int i;
for(i=0; i<10; i++)
{
    if(i>3)    // 如果i>3,跳出for循环,执行printf语句
        break;  
}
printf("%d", i);

2、用return语句(一般用在函数体中,作为函数的返回值跳出该函数,也即跳出了函数体中的for循环)

int fun(int a)
{
    int i;
    for(i=0; i<a; i++)
    {
        if(i>3)    // 如果i>3,则函数执行完毕,并返回变量i的值,也即跳出了for循环
            return i;  
    }
}

第2个回答  2012-12-04
我按照你的意思用g++试了一下,应该没问题。

#include <stdlib.h>
#include <stdio.h>
int main()
{
int num[20];
int i;
for (i = 0; i < 20; i++)
{
//int tmp;
//scanf("%d", &tmp);
scanf("%d", &(num[i]));
//num[i] = tmp;
if (num[i] == -1) break;
}
getchar();
return 0;
}本回答被网友采纳
第3个回答  2012-12-04
应该用if( num[i] == -1) then break;
照你的语句,如果输入的不是-1,就陷入while死循环了。
第4个回答  2012-12-04
就用break啊!在for循环里面加个判断,如果传入的是-1就执行break

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网