Qu'est-ce que la pleine la boucle “for” syntaxe en C?

J'ai vu quelques très bizarre for boucles lors de la lecture d'autres personnes de code. J'ai été à la recherche pour une complète explication de syntaxe pour la for boucle dans C mais il est très difficile parce que le mot "for" apparaît dans des phrases sans rapport avec ce qui rendait la recherche presque impossible pour Google de manière efficace.

Cette question est venue à mon esprit après la lecture de ce fil qui m'a rendu curieux de nouveau.

La for ici:

for(p=0;p+=(a&1)*b,a!=1;a>>=1,b<<=1);

Dans le milieu de la condition il y a une virgule pour séparer les deux morceaux de code, qu'est-ce virgule faire? La virgule sur le côté droit, je comprends qu'il rend à la fois a>>=1 et b<<=1.

Mais à l'intérieur d'une condition de sortie de boucle, ce qui se passe? Ne quittez lorsque le p==0, quand a==1 ou lorsque les deux se produire?

Ce serait génial si quelqu'un pouvait m'aider à comprendre le présent et peut-être me pointer dans la direction d'un plein for boucle description de la syntaxe.

  • Vous avez corrigé "un peu" à "genre de", "coma" à "virgule", capitalisés sur les "I" et "T", mais "de gauche "ppl" pour les gens?
  • Correction de certaines erreurs. Post a l'air beaucoup mieux maintenant. Question intéressante.
InformationsquelleAutor fmsf | 2008-11-09