声明:
程序一般情况下分为Debug和Release,Debug用于内部测试,Release用于用户使用。
assert
头文件:#include<assert.h>
断言仅在Debug版本起作用和宏一样,它用于检查不应该发生的情况。如果断言失败,则程序会终止。
char *my_strcpy(
char *des,
const char *src)
{
if(des == src)
return des;
assert((des !=
NULL) && (src !=
NULL));
char *address = des;
while((*des++ = *src++) !=
'\0');
return address;
if
表达式的值为真则执行当前语句,否则不执行。if既可以用于判断一条语句;也可以判断复合语句。
区别:
1、if判断语句,如果条件为真,则进行下一条语句;如果条件不为真,执行相反的语句 2、assert,断言不成立时,直接终止 3、if用于检测代码的正确性;assert检测代码的合法性,若断言失败,程序就不能运行