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

Résolu
wassimee Messages postés 46 Statut Membre -  
wassimee Messages postés 46 Statut Membre -
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;

}

7 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  2. wassimee Messages postés 46 Statut Membre
     
    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
  3. wassimee Messages postés 46 Statut Membre
     
    par exemple:
    char tab[50];
    int i;
    for (i=0;i<50;i++){
    tab[i]=i;
    }
    //Cordialement
    0
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. wassimee Messages postés 46 Statut Membre
     
    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
  7. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Dans ce cas :


    char tab[10];
    int i;
    for (i='0';i<='9';i++){
    tab[i]=i;
    }
    0
  8. wassimee Messages postés 46 Statut Membre
     
    merciiiiiiii :)
    0