Salut à toutes et à tous,
J'ai acheté le livre "du C au C++ - De la programmation procédurale à l'objet - 2è édition", dans le chapitre 1 à l'exercice 2.5.2 on me demande d'afficher à partir de la table ASCII (que je récupère via 'man ascii' sur mon système) des caractère unicodes... Là j'ai pas bien compris, il me semble bien que l'on ne pouvait afficher que les 255 caractères ASCII en se servant des valeurs octale, décimale et hexadécimale. Donc je ne voyais pas trop comment j'étais censé afficher des caractères unicodes avec le code décimale de la table ASCII...
Je n'y arrive pas, même en faisant une boucle affichant les caractères à partir de la décimale 0 jusqu'à la 255, les premières dizaines étant vide.
Je finis par me jeter sur la correction de l'exercice, or celle-ci ne me parait pas plus clair puisque le résultat est identique: du vide.
Voici la correction:
Exercice 2
Dans un programme, déclarer un char et lui affecter une valeur choisie au hasard.
Afficher la valeur entrée en utilisant les deux formats %d et %c, qu'est ce que ça donne ?
Réessayer en demandant cette fois une valeur comprise entre 97 et 122. Que remarquez-vous ?
Quelles valeurs permettent d'afficher les caractères *, @, ♠, ♣, ♥, ♦. ?Donc au dernier printf, si je demande à affiche les décimales 1 à 6 je suis censé obtenir '♠','♣', '♥', '♦' + un smiley, or sur ma Debian 10 j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <stdio.h> #include <stdlib.h> int main() { char c = 69; printf("%d, %c\n", c,c); // imprime 69, E c=110; printf("%d, %c\n", c,c); // imprime 110, n , lettre minuscule printf("%d, %d, %d, %d\n", '♠','♣', '♥', '♦'); // pose un petit problème ... printf("%c, %c, %c, %c, %c, %c, %c\n",64, 1, 2, 3, 4, 5, 6);// c'est le résultat avec smiley en prime return 0; }
Auriez-vous une idée sur ce problème ? Je suppose que ça vient de quelque part sur mon système.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 69, E 110, n 14850464, 14850467, 14850469, 14850470 @, , , , , ,
PS: Je ne sais pas si c'est intéressant, mais mon éditeur de texte est vim.
Par avance, merci.
BarbeRousseLibre
Partager