我做了一个 sigsegved on 的小程序,strcasecmp
直到我做了这个测试用例才知道为什么:
strcasecmp(NULL, "TEST");
编译时,它给了我以下警告:
test.c:9:4: warning: null argument where non-null required (argument 1) [-Wnonnull]
但是,man strcasecmp
没有说任何关于NULL
论点的事情,有人可以解释一下我如何从阅读文档中从理论上推断出这一点,而不是根据经验编写测试用例吗?它是一个根深蒂固的标准吗?或者也许const char *
没有权利NULL
,出于某种我不知道的原因?