Solution de l’exercice 2.3

La première chaîne est incorrecte. En effet, comme elle commence par \x, on cherche un nombre hexadécimal derrière. On trouve alors ffF (o n'est pas un chiffre hexadécimal), soit un nombre trop grand pour convenir à un caractère (0 à 255 = 0xFF seulement). Le compilateur affiche alors Error : Numeric constant too large (constante numérique trop grande).

La seconde chaîne est correcte. Elle correspond au caractère 255 = 0xFF (\xFF), suivi d’un guillemet " (\"), puis des lettres F, a, r, c, e, u, r, du caractère 7 = '\a' (signal sonore), d’une barre oblique inverse \ (\\), d’une tabulation (\t), d’un espace, d’un point d’exclamation, d’un autre guillemet " (\") et enfin d’un saut de ligne (\n). En comptant le zéro final, cela fait seize caractères, et l’on obtient à l'affichage, avec un signal sonore :

"Farceur\(tabulation) !"

le caractère 255 étant affiché comme un espace au début.


Retour au texte.