Tom's Guide > Forum > Programmation > Erreur bizzard en C

Erreur bizzard en C

Forum Programmation : Erreur bizzard en C

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

voila mon probleme

 

voila je veut un petit prog qui me dit quelle gerne de caractère je vient de tepé, sauf que le programe me revoi un code inconnu qui n'est pas de l'ASCII

 


Code :
  1. #include <stdio.h>
  2. unsigned char c;
  3. main()
  4. {
  5.       do{
  6.                  
  7.                   printf("Taper un caractère pour savoir de quel type il est: \n" );
  8.                   scanf("%c",&c); 
  9.                   printf("\n%u\n",&c);
  10.                   printf("Try again? 0/1 \n" );
  11.                   scanf("%i",&c);
  12.                   }
  13.         while(c!=0);
  14. }
 

voila le screen:
http://img222.imageshack.us/img222/1797/proghn9.jpg
http://img222.imageshack.us/img222/proghn9.jpg/1/w1024.png

 

savez vous a quoi cela correpsond sachant que c'est le même pour des chiffres ou des lettres


Message édité par dededu72 le 04-12-2008 à 13:47:55
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

C'est que tu n'utilises pas le bon format de sortie.
%u est pour afficher sous format décimal de type unsigned int
pour avoir le code ASCII il faut mettre %d

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

j'ai corrigé comme tu m'a dit, mais sa ne marche toujour pas

 


Code :
  1. #include <stdio.h>
  2. unsigned char c;
  3. int i;
  4. main()
  5. {
  6.       do{
  7.                  
  8.                   printf("Taper un caractère pour savoir de quel type il est: \n" );
  9.                   scanf("%c",&c);
  10.                   printf("\n%d\n",&c);
  11.                   printf("Try again? 0/1 \n" );
  12.                   scanf("%i",&c);
  13.                   }
  14.         while(c!=0);
  15. }
 

il me met cet fois le code 4210800

 

pour un x ==> 404070
pour un o ==>20040160 mais traduit en hexa sa fait 404070
pour un e ==> 1.6222...e-307
pour un s ==> il me recopi le caractère que j'ai entré
pour un p ==> 00404070
même avec le #x sa ne change rien


Message édité par dededu72 le 04-12-2008 à 15:16:35
Répondre à dededu72

# printf("\n%d\n",&c); < ici tu affiches l'adresse de c et non pas le contenu.

Répondre à Rakipu

a ok et comment je fait pour afficher le contenu?

Répondre à dededu72

c :)

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

Code :
  1. printf("caractere=%c, valeur ASCII decimale=%d, valeur ASCII hexadecimale=%02X", c,c,c);

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Tom's Guide > Forum > Programmation > Erreur bizzard en C
Aller à :

Il y a 1896 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens