以数字方式对与字典顺序相反的字母字符进行排序是什么意思,例如在带有选项-n的 K&R 5-14 中
问问题
271 次
2 回答
4
这意味着将字符串视为单个数值而不是一系列恰好是数字的字符。K&Rnumcmp
在练习 5-14 上方向您展示了要使用的函数。它将char*
参数转换为double
数字并进行比较,而不是一次比较字符串一个字符。这样,字符串103
将排在字符串之后,23
因为 103 大于 23。作为字符串比较,103
将排在前面,23
因为 for 的字符代码1
小于 的字符代码2
。
于 2011-05-17T20:15:14.913 回答
0
在 K&R 的第二版第 5.11 节中,比较函数
int numcmp(char *s1, char *s2); /* defined on page 121 */
用于数字排序(而不是strcmp
用于字典排序)。numcmp
调用函数
double atof(char s[]); /* defined on page 71 */
它将字符串转换为其等效的双精度浮点数。
在示例中,使用-n
命令行参数进行排序是由函数double
返回的值完成的atof
。
于 2011-05-17T20:39:54.443 回答