我想知道函数memcmp
必须返回什么。
我一直在互联网上搜索,通常,memcmp
定义如下所示:
memcmp() 函数返回一个大于、等于或小于零的整数,相应地,因为 s1 指向的对象大于、等于或小于 s2 指向的对象。
从来没有明确说明返回的是什么:是两个字节值之间的差异,还是 -1、0 或 1?我很困惑:
- 在一个小程序中测试该函数
memcmp
时,它返回 -1、0 或 1,即使评估的两个字节之间的差值高于 1 或低于 -1。 - 在查看
memcmp
Internet 上命名的函数时,它们几乎都以 int 形式返回 2 个字节之间的差异,而不是返回 -1、0 或 1。
由于我无法对函数进行足够精确的定义,所以memcmp
我在这里问这个问题:函数memcmp
应该返回什么?某处是否有“官方”源代码?(我看过很多源代码,memcmp
但没有一个给我答案:然后我假设它们不是库 string.h 中编写的函数,至少不是在我的计算机上......)