2

最近、EOF キャラクター コンソール ウィンドウの興味深い解釈に直面しました。Windows 7 コードputchar (255)&&を実行している一部のマシンputchar (-1)では、スペース文字として表示され、一部のマシンでは文字として表示され'a'ます。2番目は私を混乱させます。教えてください、なぜこれが起こっているのですか?

4

2 に答える 2

2

の実際の値EOFはシステムに依存し (ただし、glibc では通常 -1 です)、有効な文字コードと等しくありません。

于 2013-10-05T08:29:02.127 に答える
2

EOFは文字ではなく、ファイルの終わりを示すシグナル (Unix シグナルではない) に似ています。値は実装に依存しますが、有効な文字 (通常は ) と等しくないことが保証されています-1

putchar(EOF)、 またはを使用すると、putchar(-1)に変換されunsigned charます255。ただし、ASCII 値255は印刷可能な文字ではないため、結果はマシンによって異なります。

于 2013-10-05T09:05:36.493 に答える