Pourquoi les opérateurs sont-ils bien associatifs dans le shell C et laissés associatifs dans le C?

StackOverflow https://stackoverflow.com/questions/1010119

  •  06-07-2019
  •  | 
  •  

Question

Suite de la question précédente , pourquoi CShell si différent de C?

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

Des idées?

Était-ce utile?

La solution

Généralement, la notation traditionnelle est de gauche à droite (associative de gauche) dans les papiers humains. Donc pour les humains (qui utilisaient cette notation bien avant c, csh ou même toute notion d’ordinateurs):

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

Pourquoi? Je suppose que la meilleure réponse est parce que. C'est la même chose qu'avec la conduite à gauche ou à droite de la route. Peu importe le côté, tant que tout le monde utilise la même chose.

IMHO le csh est faux car il est contre-intuitif. C’était peut-être une erreur (ils voulaient rester associatif mais codé de manière erronée) et devenir un héritage comme d’autres choses en dépendaient déjà.

Autres conseils

Différentes personnes ont rédigé les produits et ont eu des points de vue différents sur la manière de gérer les calculs. Et puisque le shell C a été écrit en second lieu, je pense qu’ils ont tort de ne pas suivre le fil de la langue parente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top