Code simple en C qui ne marche pas !!!!:@

Résolu/Fermé
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011 - 31 oct. 2010 à 19:06
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011 - 31 oct. 2010 à 22:23
Bonjour,
Voila mon code et en exécutant il m'affiche n'importe koi (un symbole et pas 1)
Cordialement.


#include <stdio.h>

int main(){

char c;
int i=1;
c=(char)i;

printf ("%c\n",c);
system("pause");
return 0;

}
A voir également:

7 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
31 oct. 2010 à 19:16
Bonjour,

Tout d'abord, n'oublie pas d'inclure stdlib.h puisque tu utilises la fonction system.
Sinon c'est normal que ça affiche n'importe quoi. Tu demandes au compilateur d'afficher le caractère correspondant au code ascii 1. C'est très différent du caractère '1'.
Donc si vous voulez afficher '1', mettez : int i='1'; /*avec des apostrophes*/

Cdlt,
0
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011
31 oct. 2010 à 19:23
Merci fiddy pour votre réponse
mais si jamais je voudrais remplir un tableau de type char et il est rempli par des entiers .
0
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011
31 oct. 2010 à 19:25
par exemple:
char tab[50];
int i;
for (i=0;i<50;i++){
tab[i]=i;
}
//Cordialement
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
31 oct. 2010 à 19:30
Que veux-tu mettre dans ton tableau ?
Car un char ne contient qu'un caractère. Donc, ça va de '0' à '9'.
Sinon tu peux mettre des entiers tout simplement.
Dans ce cas, il suffit de mettre : int tab[50];
Et pour afficher le tableau : printf("%d",tab[i]); avec i un nombre compris entre 0 et 50.

Cdlt,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011
31 oct. 2010 à 19:54
tu ne ma compris mé je te remercie de tte facon ,en faite je ve remplir un tableau de type char
par exemple
char tab1[4]={'1','2','3','4'} mais par un boucle for .
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
31 oct. 2010 à 20:15
Dans ce cas :


char tab[10];
int i;
for (i='0';i<='9';i++){
tab[i]=i;
}
0
wassimee Messages postés 38 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 11 juillet 2011
31 oct. 2010 à 22:23
merciiiiiiii :)
0