`strcmp`的返回值的顺序是什么?

cod*_*man 0 c string strcmp

我的代码非常少:

int test = strcmp("Websecurity", "easily");
printf("%d\n", test);
Run Code Online (Sandbox Code Playgroud)

结果是-1.为什么?显然'W'大于'e'?

jwo*_*der 7

大写字母以ASCII中的小写字母开头,等等'W' < 'e'.

  • 严格来说,这应该被称为"在大多数常见代码集中,例如基于ASCII的代码集(包括ISO 8859-x系列代码集,Unicode和许多Windows代码页),大写字母在小写字母之前,所以`'W'<'e'`和来自`strcmp()`的返回值应为负数(值的大小未定义)".但这是将细微差别应用于可接受的答案.请注意,[EBCDIC](http://en.wikipedia.org/wiki/EBCDIC)是一个例外,其中`a`到`z`编码为0x81..0xA9,带有间隙,`A`编码为`Z`为0xC1..0xE9. (5认同)