Il faut absolument que tu lises un bouquin de C.
printf est une fonction qui ecrit sur la sortie standart : stdout, la valeur de variables qui sont définis dans les arguements 2, 3, 4 ... de la fonction.
data est une chaîne de caractères. en C, celà signifie que data est un tableau de caractères. Pour que la chaîne soit valide, il faut que l'un des caractères soit 0.
Chauqe élément de data, data[0], data[1] ... est uncaractère, comme 'c', 'M' ...
Maintenant, analysons ce que tu as écrit, et tu vas voir que ça n'est pas du tout ce que tu crois :
if (printf(%c", data[0]) == "M" )
printf est une fonction donc renvoie une valeur, la valeur est le nombre de caractères écrits, ici 1.
Donc 1 est comparé à l'adresse mémoire de la chaîne "M", en effet, à la compil, la chaîne "M" a été stockée en mémoire quelque part, donc quelque part il y a un 77 (code ASCII decimal de M) et puis un 0.
Autant-dire que la comparaison échoue !
Ce que tu veux sans doute faire c'est
Code :
- if (data[0] == 'M')
- {
- printf("M Victoire !" );
- }
- else
- {
- printf("DTC !" );
- }
|
Citation :
'aimerais juste mettre la valeur afficher par => printf( "%c", data[0]);
dans une variable.
|
C'est très simple :
Message édité par Trap D le 12-08-2008 à 20:53:10