1

'A'に変更する0x41と、プログラムの動作が変わる可能性がある状況はありますか? に変え0x41てみては'A'どうですか?それらを完全に同等にしない可能性のある珍しいアーキテクチャ、あいまいなコンパイラ設定、または奇妙なマクロはありますか? 標準に準拠したコンパイラでそれらが完全に同等である場合、同じではないバグのある、または非標準のコンパイラに出くわした人はいますか?

4

2 に答える 2

6

「A」を 0x41 に変更すると、プログラムの動作が変わる可能性がありますか?

はい、EBCDIC 文字セットの'A'値は not 0x41but0xC1です。

C は ASCII 文字セットを必要としません。

(C99、5.2.1p1) 「実行文字セットのメンバーの値は実装定義です。」

于 2013-07-29T22:31:30.170 に答える