在字典中对字母字符进行数字排序是什么意思,例如在K& R 5-14中选项 -n
答案 0 :(得分:4)
这意味着将字符串视为单个数字值而不是恰好是数字的一系列字符。 K& R向您显示numcmp
功能,仅在练习5-14之上使用。它将char*
参数转换为double
并以数字方式对它们进行比较,而不是一次比较一个字符的字符串。这样,字符串103
在字符串23
之后被排序,因为103大于23.比较字符串,103
将排序提前< / {> 23
因为1
的字符代码小于2
的字符代码。
答案 1 :(得分:0)
在第二版K&amp; 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
值完成的。