我正在尝试测试strcat()我自己编写的函数.我没有打印输出并手动逐行检查,而是决定使用assert.h中的assert.问题是即使输出看起来完全正常,断言也会显示错误.以下是我的代码:
void mystrcat_test()
{
char str[BUFSIZ];
assert(strcmp(str, ""));
mystrcat(str, "hello");
assert(strcmo(str, "hello"));
}
Run Code Online (Sandbox Code Playgroud)
strcmp如果两个字符串相同则返回0.assert取0(false)表示测试失败并报告错误.所以测试应该是:
assert(strcmp(str, "") == 0);
Run Code Online (Sandbox Code Playgroud)