C++中的exit()函数

时间:2020-02-23 14:29:57  来源:igfitidea点击:

介绍

今天,我们将学习C++中的exit()。
我们知道,可以使用C++中的内置break函数来打破循环。
类似地,我们也可以使用exit()函数来突破整个C++程序。

想一想在程序中得出结论的情况。
您可以得到结果并在编译或者评估整个程序之前得出结论。

获得所需信息或者结果后,如何终止程序?

上述问题的答案是使用C++中内置的exit()函数。
因此,让我们仔细看看该功能及其工作方式。

C++中exit()函数的定义

Flow Chart Representation Of exit() Function

从理论上讲,C++中的exit()函数会导致相应的程序在遇到该函数时立即终止,无论它在程序列表中的什么位置。
该函数已在stdlib.h头文件下定义,在使用exit()函数时必须将其包括在内。

C++中exit()函数的语法

下面给出了使用exit()函数的语法,

exit( exit_value );

此处," exit_value"是成功终止程序后传递给操作系统的值。
可以在批处理文件中测试此值,其中错误级别为我们提供了exit()函数提供的返回值。
通常,值0表示终止成功,而其他任何数字则表示错误。

C++中exit()函数的工作

请记住,函数exit()从不返回任何值。
它终止进程并执行常规清理以终止程序。

同样,在C++中调用此函数不会破坏自动存储对象。

仔细看下面的例子:

#include<iostream>
using namespace std;
int main()
{
	int i;
	cout<<"Enter a non-zero value: ";  //user input
	cin>>i;
	if(i)    //checks whether the user input is non-zero or not
	{
		cout<<"Valid input.\n";
	}
	else
	{
		cout<<"ERROR!";  //the program exists if the value is 0
		exit(0);
	}
	cout<<"The input was : "<<i;
}

输出:

Enter a non-zero value: 0
ERROR!

  • 由于提供的上述代码的用户输入为零(0),因此对if-else语句执行else部分。
    在编译器遇到exit()函数并终止程序的地方。

  • 因为该程序已经被exit()函数终止,所以即使if-else下面的print语句也不会执行。

现在让我们看另一个示例,我们尝试确定数字是否为质数。

在C++中使用exit()函数

下面的程序说明了exit()函数的用法。

#include<iostream>
using namespace std;
int main()
{
	int i,num;
	cout<<"Enter the number : ";
	cin>>num;
	for(i=2;i<=num/2;i++)
	{
		if(num%i==0)
		{
			cout<<"\nNot a prime number!";
			exit(0);
		}
	}
	cout<<"\nIt is a prime number!";
	return 0;
}

对于上述代码,

  • 首先,我们接受用户输入该号码。
    我们需要检查数字num是否为质数。

  • 之后,我们应用一个for循环,该循环的作用范围是2到n/2。
    这是因为我们已经知道所有数字都可以被1整除,并且一个数字也可以被其一半以上的数字整除。

  • 在for循环中,我们检查该数字是否在该时刻被循环迭代器整除。
    如果是这样,我们可以直接得出数字不是质数的结论,并使用exit()函数终止程序,

  • 否则,循环继续进行检查。
    执行完整个循环结构后,我们将数字声明为素数。