【发布时间】:2015-04-12 05:35:57
【问题描述】:
我正在实现一个字典排序,我的教授告诉我们在我们的实现中使用strcmp。问题是,strcmp 在比较字符串方面非常令人困惑。
例如,这里会产生错误:
if (strcmp("What", "am") > 0) {
printf("true\n");
} else {
printf("false\n");
}
“What”不应该在字典上大于“am”吗?手册页在解释函数如何确定一个字符串是大于还是小于另一个方面非常简洁。这里有一些问题,但我仍然无法根据这些解释确定这个结果。
【问题讨论】:
-
strcmp 按字典顺序比较字符的 ASCII 码。大写字母的 ASCII 码小于小写字母。