使用strncmp而不定义size_t n

时间:2013-11-11 22:12:28

标签: c

示例:strncmp(“John”,“Johny”) 似乎这个例子在没有第3个参数的情况下仍然有用。

任何人都可以解释一下吗?我在C文档中找不到任何解释。

感谢。

2 个答案:

答案 0 :(得分:5)

您忘记包含相关的标头文件:

#include <string.h>

请启用所有编译器警告并修复它们。

答案 1 :(得分:2)

我猜undefined behaviour。在C系统期望找到n参数的地方,它会通过偶然发现一个大于两个测试字符串长度的数字。

换句话说,幸运的是部分原因是忽略了警告。