3

オプション-nを使用した K&R 5-14 のように、アルファ文字を辞書式ではなく数値的に並べ替えるとはどういう意味ですか?

4

2 に答える 2

4

文字列をたまたま数値である一連の文字としてではなく、単一の数値として扱うことを意味します。K&R は、numcmp演習 5-14 のすぐ上で使用する関数を示しています。文字列を一度に 1 文字ずつ比較するのではなく、char*引数を数値に変換して比較します。doubleこのように、103 は 23 より大きいため、文字列は文字列の103にソートされます。文字列として比較すると、 の文字コードは の文字コードより小さいため、にソートされます。231032312

于 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 に答える