示例:strncmp(“John”,“Johny”) 似乎这个例子在没有第3个参数的情况下仍然有用。
任何人都可以解释一下吗?我在C文档中找不到任何解释。
感谢。
答案 0 :(得分:5)
您忘记包含相关的标头文件:
#include <string.h>
请启用所有编译器警告并修复它们。
答案 1 :(得分:2)
我猜undefined behaviour
。在C系统期望找到n
参数的地方,它会通过偶然发现一个大于两个测试字符串长度的数字。
换句话说,幸运的是部分原因是忽略了警告。