为什么操作符在CShell中是正确关联的,在C中是左关联的?

从我之前的问题开始 ,为什么CShell与C有如此不同?

  • 4 – 3 + 1 = 2 in C.
  • CShell中4 – 3 + 1 = 0。

有任何想法吗?

通常,传统的符号在人类论文中从左到右(左联想)。 因此对于人类(在c,csh甚至计算机的任何概念之前很久就使用这种表示法):

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

为什么? 我想最好的答案是因为。 这与驾驶左侧或右侧的道路相同。 只要每个人都使用相同的方面,哪一方无关紧要。

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

不同的人写了产品,他们对如何处理计算有不同的看法。 而且由于C Shell是第二次写的,我认为他们因没有遵循名义母语的引导而有错。