C の 8 進リテラルとしてのゼロ
数値のゼロはプログラミングの基本要素ですが、C での表現には疑問が生じる場合があります。ゼロは 10 進リテラルまたは 8 進リテラルとして適格ですか?
答えを判断するには、整数リテラルの規則を指定する C 標準を調べます。 セクション 2.14.2 - 整数リテラルによると:
integer-literal: decimal-literal integer-suffixopt octal-literal integer-suffixopt hexadecimal-literal integer-suffixopt
8 進リテラル定義:
octal-literal: 0 octal-literal octal-digit
標準では明示的にゼロが定義されています ( 0) 8 進リテラル として。これは、C コードに単純なゼロが出現すると、8 進リテラルとして解釈されることを意味します。これは、潜在的な数値変換やエラーを理解するために注意すべき重要な違いです。
8 進数リテラルが、特に Unix システムでファイルのアクセス許可を表すために再び一般的になったことに言及する価値があります。ただし、現代のプログラミングでは、一般に、明瞭さと一貫性のため 10 進リテラルが好まれます。それにもかかわらず、8 進リテラルは C の有効な表現オプションであり、特定のシナリオでは引き続き使用されます。
以上がゼロは C の 8 進リテラルですか、それとも 10 進リテラルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。