Considérez le fragment suivant:
int a,b; a = 1; b = 2; c = a++++b; // does not work!! Compilation error. c = a++*+b; // works !!
5 Réponses :
c = a++ + +b; c = a++ * +b;
Ceci est effectivement à cause de " règle de munch maximale " dans C.
c = a++*+b;
Merci Alok pour avoir donné la référence et l'explication.
PRECÉDENCE DE L'OPLOIRE . ++ a une priorité élevée que binaire +. p>
Je ne vois pas comment cela pourrait être la priorité de l'opérateur.
c = a ++ + + b; C'est bien, mais si vous retirez les espaces blancs, il s'avère qu'une erreur de lvalue invalide.
Je suppose que j'ai mal compris le problème. Merci pour l'explication.
La même raison pour laquelle nous obtenons une erreur dans le C ++ pour:
vector<vector<int>>;
Bon point, mais n'est pas lié à la question de l'OP.
"Ne fonctionne pas" est inactilement vague. Il suppose qu'il existe une sortie attendue qui représente des «travaux» et une production réelle qui représente «ne fonctionne pas» et vous n'avez pas été fournies non plus.
À quoi ça sert?