0

我正在编写 c 程序,它将在世界上大多数 C 编译器(windows、linux、solaris、mac、aix、hpux、vxworks(arm、ppc、mips...)、windriver linux 等编译器中编译。 )

如果我根据C标准运算符优先级编写程序会好吗

4

2 回答 2

1

是的,会好的。

但是,如果有疑问,请使用括号!

int a = 2 * 3 / 4;   /* 0 or 1 ? */
int b = (2 * 3) / 4; /* definitely 1 */
int c = 2 * (3 / 4); /* definitely 0 */

有多余的括号比错误的结果要好得多。

于 2012-08-17T12:02:31.380 回答
0

是的。

一般来说,语言几乎从不保留未指定的解析,因为根据规范进行解析对于语言设计者来说相当容易,并且解析不会影响结果程序的性能。

于 2012-08-17T21:59:56.217 回答