En plus plus c'est souvent du réchauffé, vu que j'ai évoqué la chose sur irc une fois ou deux il y a quelques mois (années?).
Code à présenter aux débutants en C pour leur faire comprendre ce qu'est la programmation (nan j'déconne)
register n = (count + 7) / 8; /* count > 0 assumed */
switch (count % 8)
{
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}Ce code porte le doux nom de Duff's device. Il est parfaitement valide et défini.
Son auteur est Tom Duff




(ie sauter en plein milieu d'un bloc).
. Il ne faut pas essayer de penser programmation structurée, ça ne peut pas marcher ^^ : il faut oublier qu'on a écrit ça comme une boucle et considérer que c'est une suite d'instructions, c'est le seul moyen de comprendre ce que fait un saut qui va directement à l'une de ces instructions sans passer par l'« entrée » de la boucle.