用exit()函数可以退出程序并将控制权返回给操作系统,而用return语句可以从一个函数中返回并将控制权返回给调用该函数的函数。如果在main()函数中加入return语句,那么在执行这条语句后将退出main()函数并将控制权返回给操作系统,这样的一条return语句和exit()函数的作用是相同的。下例是一个使用了exit()函数和return语句的程序:
- #include <stdio.h>
- #include <stdlib.h>
- int main (int, char** );
- int do_processing (void);
- int do_something_daring();
- int main (int argc, char** argv)
- {
- int ret_code;
- if (argc <3)
- {
- printf ("Wrong number of arguments used ! \n");
- /* return 1 to the operating system */
- exit(1);
- }
- ret_code = do_processing ();
- ......
- /* return 0 to the operating system */
- exit(0);
- }
- int do_processing(void)
- {
- int rc;
- rc = do_aomcthing_daring();
- if (rc == ERROR)
- {
- printf ("Something fiahy ia going on around here... *\n");
- /* return rc to the operating syatem */
- exit (re);
- }
- /* return 0 to the calling function */
- return 0;
- }
在上例的main()函数中,如果argc小于3,程序就会退出。语句“exit(1)”指示程序在退出时将数字1返回给操作系统。操作系统有时会根据程序的返回值进行一些相关的操作,例如许多DOS批处理文件会通过一个名为ERRORLEVEL的全局变量来检查可执行程序的返回值。