Fondamentalement, la chaîne est un codage de l'image: Alternance de caractères dans la chaîne dire combien de fois pour dessiner un espace, et comment beaucoup de temps pour dessiner un point d'exclamation à la suite. Voici une analyse des différents éléments de ce programme:
La chaîne codée
Les 31 premiers caractères de cette chaîne sont ignorés. Le reste contiennent des instructions pour le dessin de l'image. Les caractères individuels de déterminer combien d'espaces ou points d'exclamation à dessiner de façon consécutive.
Externe pour la boucle
Cette boucle va sur les caractères dans la chaîne. Chaque itération augmente la valeur de b
par un, et attribue le caractère suivant dans la chaîne d' a
.
Boucle intérieure
Cette boucle dessine des caractères individuels, et un retour à la ligne à chaque fois qu'il atteint la fin de la ligne. Le nombre de caractères dessinée a - 64
. La valeur de c
va de 10 à 90, et se remet à 10 lors de la fin de la ligne est atteint.
L' putchar
Cela peut être réécrit comme suit:
++c;
if (c==90) { //'Z' == 90
c = 10; //Note: 10 == '\n'
putchar('\n');
}
else {
if (b % 2 == 0)
putchar('!');
else
putchar(' ');
}
Il dessine le caractère approprié, selon qu' b
est pair ou impair, ou un saut de ligne en cas de besoin.