私は、世界のほとんどの C コンパイラ (windows、linux、solaris、mac、aix、hpux、vxworks (arm、ppc、mips...) のコンパイラ)、windriver linux などでコンパイルされる c プログラムを書いています。 )
C標準の演算子の優先順位に基づいてプログラムを書いてもよろしいでしょうか?
私は、世界のほとんどの C コンパイラ (windows、linux、solaris、mac、aix、hpux、vxworks (arm、ppc、mips...) のコンパイラ)、windriver linux などでコンパイルされる c プログラムを書いています。 )
C標準の演算子の優先順位に基づいてプログラムを書いてもよろしいでしょうか?
はい、大丈夫です。
ただし、疑わしい場合は括弧を使用してください。
int a = 2 * 3 / 4; /* 0 or 1 ? */
int b = (2 * 3) / 4; /* definitely 1 */
int c = 2 * (3 / 4); /* definitely 0 */
間違った結果よりも、括弧を冗長にする方がはるかに優れています。
はい。
一般に、仕様に従った解析は言語設計者にとって非常に簡単であり、解析は結果として得られるプログラムのパフォーマンスに影響を与えないため、言語が解析を未指定のままにすることはほとんどありません。