C++中的exit()函数
介绍
今天,我们将学习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()
函数终止程序,否则,循环继续进行检查。
执行完整个循环结构后,我们将数字声明为素数。