オプション-nを使用した K&R 5-14 のように、アルファ文字を辞書式ではなく数値的に並べ替えるとはどういう意味ですか?
2 に答える
4
文字列をたまたま数値である一連の文字としてではなく、単一の数値として扱うことを意味します。K&R は、numcmp
演習 5-14 のすぐ上で使用する関数を示しています。文字列を一度に 1 文字ずつ比較するのではなく、char*
引数を数値に変換して比較します。double
このように、103 は 23 より大きいため、文字列は文字列の後103
にソートされます。文字列として比較すると、 の文字コードは の文字コードより小さいため、前にソートされます。23
103
23
1
2
于 2011-05-17T20:15:14.913 に答える
0
K&R の第 2 版では、セクション 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 に答える