簡體   English   中英

為什么運算符在 CShell 中是右結合的,而在 C 中是左結合的?

[英]Why are operators right associative in CShell that are left associative in C?

我之前的問題之后,為什么 CShell 與 C 如此不同?

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

有任何想法嗎?

通常,傳統符號在人類論文中是從左到右(左結合)。 所以對於人類(早在 c、csh 甚至任何計算機概念之前就使用這種表示法):

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

為什么? 我想最好的答案是因為。 這與在道路左側或右側行駛相同。 只要每個人都使用相同的東西,哪一邊真的不重要。

恕我直言,csh 是錯誤的,因為它違反直覺。 可能這是一個錯誤(他們想要左關聯但編碼錯誤)並成為遺產,因為其他事情已經依賴於此。

不同的人編寫產品,他們對如何處理計算有不同的看法。 由於 C Shell 是第二個寫的,我認為他們沒有遵循名義母語的領導是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM