C语言没有异常这一说,请自行进行合法性的判断。
站在用户的角度思考问题,与客户深入沟通,找到新兴网站设计与新兴网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟主机、企业邮箱。业务覆盖新兴地区。
1.使用标准C库提供了abort()和exit()两个函数,强行终止程序的运行,stdlib.h。
2.使用assert(断言)宏调用,assert.h。
3.使用errno全局变量,errno.h。
4.使用goto跳转。
5.使用setjmp,longjmp跳转。
如果你修过软件工程,就会知道逻辑错误,主要是靠人工检查来做的,和你具体的语言实现没有关系。有各种方法或流程,比如流程图检查、程序走查、极限编程等,可以帮助你检查程序逻辑。
首先你要知道你的模块的作用是什么,比如这里的 digits() 是求整数中的数字个数,然后可以用边界值演算的方法来检查它的实现是否有问题,在纸上演算可以,用 debug 和 watch 也可以,主要是跟踪几个关键变量 a, j, i 在各种输入条件(使用特征和边界条件比如 num=个位数、=负数的情况)的运行时值。
c语言中exit()函数的用法:
用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的全局变量来检查可执行程序的返回值。