在C语言中可以使用break,和return语句结束循环
代码示例 break
i>3的时候结束循环;
用return语句(一般用在函数体中,作为函数的返回值跳出该函数,也即跳出了函数体中的for循环)
int fun(int a){ int i; for(i=0; i3) // 如果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。
跳出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 {
if(i>3) // 如果i>3,则函数执行完毕,并返回变量i的值,也即跳出了for循环
return i;
}
}
我按照你的意思用g++试了一下,应该没问题。
#include
#include
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;
}
应该用if( num[i] == -1) then break;
照你的语句,如果输入的不是-1,就陷入while死循环了。
就用break啊!在for循环里面加个判断,如果传入的是-1就执行break