相同的字符串但结果不同

编译时我得到不同的结果(对于s1 s2(取决于gcc版本),结果为-6400或-25;在memcmp中直接带有数组的结果为-1),但是数组相同。

感谢帮助

#include <stdio.h>
#include <string.h>

int main(void)
{
    printf("vrai %d\n",memcmp("qwertyuioa","qwertyuioz",10));
    char s1[] = "qwertyuioa";
    char s2[] = "qwertyuioz";
    printf("vrai s1 s2 %d\n",memcmp(s1,s2,10));
}
xajs18 回答:相同的字符串但结果不同

来自memcmp(3)

  

如果s1的前n个字节为,则memcmp()函数返回一个整数小于等于大于。发现分别小于,匹配或大于s2的前n个字节。

唯一与返回值有关的是它小于零,等于零或大于零。

本文链接:https://www.f2er.com/3157147.html

大家都在问