代码之家  ›  专栏  ›  技术社区  ›  Mark Ingram

为什么C层中的运算符是右相关的,而C层中的运算符是左相关的?

  •  1
  • Mark Ingram  · 技术社区  · 7 年前

    跟踪自 my previous question 为什么CShell和C如此不同?

    • 4-3+1=2英寸C。
    • CShell中4-3+1=0。

    有什么想法吗?

    2 回复  |  直到 17 年前
        1
  •  1
  •   Maciej Piechotka    17 年前

    一般来说,传统的符号是从左到右(左联想)在人类论文中。所以对于人类(早在C、CSH甚至任何计算机概念之前就使用了这个符号):

    4 - 3 + 1 = (4 - 3) + 1 = 1 + 1 = 2
    

    为什么?我想最好的答案是因为。这与在道路左侧或右侧行驶相同。只要每个人都用同样的东西,哪边真的没关系。

    我知道CSH是错误的,因为它是反直觉的。这可能是一个错误(他们想要左联想,但编码错误),并成为遗产,因为其他事情已经依赖于此。

        2
  •  0
  •   Jonathan Leffler    17 年前

    不同的人编写产品,他们对如何处理计算有不同的看法。既然C shell是第二个被写的,我认为他们的错在于没有遵循名义上的父语言。