我在 C 中做一些需要使用字符串的事情(就像大多数程序一样)。
查看联机帮助页,我在 string(3) 处发现:
概要
#include <strings.h> char * index(const char *s, int c) (...) #include <string.h> char * strchr(const char *s, int c)
所以我好奇地看了 strchr(3) 和 index(3)...
我发现两者都执行以下操作:
strchr()/index() 函数在 s 指向的字符串中定位 c 的第一次出现。终止空字符被认为是字符串的一部分;因此,如果 c 是 '\0',则函数定位终止的 '\0'。
因此,联机帮助页基本上是复制和粘贴。
此外,我认为,由于某些混淆的必要性,第二个参数具有 type int
,但实际上是 a char
。我想我没有错,但任何人都可以向我解释为什么它是一个int
,而不是一个char
?
如果它们都相同,那么哪个版本更兼容,如果不是,那有什么区别?