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

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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,
    1. Merci fiddy pour votre réponse
      mais si jamais je voudrais remplir un tableau de type char et il est rempli par des entiers .
      1. par exemple:
        char tab[50];
        int i;
        for (i=0;i<50;i++){
        tab[i]=i;
        }
        //Cordialement
        1. Contributeur
          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,
          1. 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 .
            1. Contributeur
              Dans ce cas :


              char tab[10];
              int i;
              for (i='0';i<='9';i++){
              tab[i]=i;
              }