用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的全局变量来检查可执行程序的返回值。
C语言没有异常这一说,请自行进行合法性的判断。1.使用标准C库提供了abort()和exit()两个函数,强行终止程序的运行,。2.使用assert(断言)宏调用,。3.使用errno全局逗禅丛变山樱量,。4.使用goto跳转袭早。5.使用setjmp,longjmp跳转。有错误,就首先要要找出错误的原因,者码这个过程称为debug。之后再编译运行。
如果很难定位错误的位置,建议在程序里增加debug语句,简单打印出程序巧扰中的位置行号,等等。
如果发现了错误的大概位置,但是很难找到错误的原因,就要使用debug工具,设置断点,单步跟踪执行,精确找到错误位置。
程序中错误孝嫌旦大都不止一个,如果编译运行后,依然有错误,重复上述过程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)