【发布时间】:2020-09-15 06:58:36
【问题描述】:
所以我研究了 strcmp 返回被比较的两个字符的 asci 值之间的差异。但在我的情况下,它只给出 -1,0 或 1 的值。
#include<stdio.h>
#include<strings.h>
int main()
{
char n1[]="Jerry";
char n2[]="Ferry";
printf("%d",strcmp(n2,n1));
return 0;
}
理想情况下它应该给出 -4,但 dev cpp 给出的输出是 -1。这是为什么呢?
【问题讨论】:
-
没关系——只需要一个正值、负值或零值;幅度未指定。你的期望是错误的。请参阅
strcmp()上的 C11 标准。 -
strcmp 没有这样做,你被误导了。
-
您声称:"strcmp 返回被比较的两个字符的 asci 值之间的差异。"。您是从哪里获得此声明的?