为什么运算符在 CShell 中是右结合而在 C 中是左结合?

发布于 2024-07-25 01:10:16 字数 216 浏览 4 评论 0原文

我之前的问题之后,为什么 CShell 如此不同从C?

  • 在 C 中为 4 - 3 + 1 = 2。
  • 在 CShell 中为 4 - 3 + 1 = 0。

有任何想法吗?

Following up from my previous question, why is CShell so different from C?

  • 4 - 3 + 1 = 2 in C.
  • 4 - 3 + 1 = 0 in CShell.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅唱ヾ落雨殇 2024-08-01 01:10:17

通常,在人类论文中,传统的表示法是从左到右(左结合)。 那么对于人类(早在 c、csh 甚至任何计算机概念出现之前就使用这种表示法)来说:

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

为什么? 我想最好的答案是因为。 这与在道路左侧或右侧行驶相同。 只要每个人都使用相同的内容,哪一边并不重要。

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

Generally the traditional notation is left to right (left associative) in human papers. So for humans (which used this notation long before c, csh or even any notion of computers):

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

Why? I guess that the best answer is because. It's the same as with driving left or right side of road. It really doesn't matter which side as long as everyone uses the same.

IMHO the csh is wrong as it is counter-intuitive. Possibly it was an error (they wanted left associative but coded wrongly) and become legacy as other things already depeneded on this.

眼眸印温柔 2024-08-01 01:10:17

不同的人编写了产品,他们对如何处理计算有不同的看法。 由于 C Shell 是其次编写的,我认为他们的错误在于没有遵循名义上的母语言的领导。

Different people wrote the products, and they had different views of how to handle the calculations. And since the C Shell was written second, I think they're at fault for not following the lead of the nominal parent language.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文