简介
今天,我们将学习C++中的Exit()。我们知道,使用C++ 中内置的Break
函数可以跳出循环。同样,我们也可以使用exit()
函数来中断整个C++程序。
想一想你要在你的计划中得出一个结论的情况。在整个程序被编译或评估 之前,你得到结果并得出一些结论。
如何在获得所需信息或结果后立即终止计划?
上述问题的答案是使用C++ 中内置的exit()
函数。因此,让我们更仔细地了解一下该函数及其工作原理。
Exit()函数在C++中的定义
从理论上讲,C++中的exit()函数会导致相应的程序在遇到该函数时立即 终止 ,无论它出现在程序列表中的何处。该函数已在 ** stdlib.h** 头文件下定义,使用** exit()** 函数时必须包含该头文件。
C++中Exit()函数的语法
使用exit()
函数的语法如下所示:
1exit( exit_value );
这里,exit_value
是程序成功终止后传递给操作系统的值。这个值可以在批处理文件中测试,其中 ERROR LEVEL 提供了exit()函数提供的返回值。通常,值** 0** 表示成功终止,任何其他数字表示某些错误。
Exit()函数在C++中的工作方式
记住,函数exit()永远不会返回任何值。它终止进程并对终止程序执行常规清理。
此外,在C++中调用此函数不会销毁自动存储对象。
请仔细查看下面的示例:
1#include<iostream>
2using namespace std;
3int main()
4{
5 int i;
6 cout<<"Enter a non-zero value: "; //user input
7 cin>>i;
8 if(i) // checks whether the user input is non-zero or not
9 {
10 cout<<"Valid input.\n";
11 }
12 else
13 {
14 cout<<"ERROR!"; //the program exists if the value is 0
15 exit(0);
16 }
17 cout<<"The input was : "<<i;
18}
输出 :
1Enter a non-zero value: 0
2ERROR!
- 由于上述代码的用户输入为 ZERO(0)** ,因此针对** If-Else** 语句执行Else部分。此外,编译器遇到`exit()‘函数并终止程序。
- 即使IF-Else下面的print语句也不会执行,因为程序已经被 Exit()** 函数终止。
现在让我们看看另一个例子,在这个例子中,我们试图确定一个数字是否为素数。
使用C++中的exit()函数
下面的程序说明了exit()
函数的用法。
1#include<iostream>
2using namespace std;
3int main()
4{
5 int i,num;
6 cout<<"Enter the number : ";
7 cin>>num;
8 for(i=2;i<=num/2;i++)
9 {
10 if(num%i==0)
11 {
12 cout<<"\nNot a prime number!";
13 exit(0);
14 }
15 }
16 cout<<"\nIt is a prime number!";
17 return 0;
18}
输出 :
此外,对于上述代码,
- 首先,我们接受用户输入的号码。我们需要检查这个数字
num
是否为 素数** 。 - 之后,我们应用一个从 2** 到** n/2** 的for循环。这是因为我们已经知道,所有的数字都可以被1整除,并且一个数字是不能被其一半以上的数字整除的。
- 在for循环中,我们检查该数字在该时刻是否可被循环迭代器整除。如果是,我们可以直接推断这个数字是 不是素数** ,并使用
exit()
函数来终止程序。 - 否则,循环继续检查。在执行完整个循环结构后,我们将该数字声明为 素数** 。
总结
在本教程中,我们讨论了C++ 中内置的exit()
函数的工作和使用。它被广泛用于终止程序的执行。
如有任何疑问,请在下面发表意见。
参考文献
- https://stackoverflow.com/questions/461449/return-statement-vs-exit-in-main
- [/community/tutorials/c-plus-plus](/community/tutorials/c-plus-plus)