dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 2008
-
14 févr. 2004 à 20:24
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 2008
-
16 févr. 2004 à 18:24
est ce qu'il y a moyen de faire ca:
char a[]=g;
a="j";
cau niveau de a="j"; que j'ai un prob de compilation !
indiquez moi une methode pour faire la meme chose SVP.
il veut pas me mettre "j" dans la chaine de caractère a .
lastpixl
Messages postés56Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention16 février 2006 14 févr. 2004 à 20:38
C'est normal : il faut mettre a='j';
avec un guillemet simple et non double... On undique ainsi le type de données char.
Dans ton code, il faut que g soit une variable char[] déjà initialisée / avec une longueur définie. Si tu veut que le char (caractère) a contienne 'g' à l'initialisation, il faut mettre :
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 15 févr. 2004 à 11:26
j'ai fais quelques petits changements et apparement ce qu'il veut c'est ca:
char c[]="a"; // avant j'avais mis :char c;
char a[]="a";
FILE*pointeur;
fgets(c,1,pointeur);// a la place de:c=fgetc(pointeur);
//il en veut pas si je declare char c[]="a"
//au lieu de char c;
strcpy(a,"g");
if (!strcmp(a,c))// là la comparaison fonctionne! parce que
{ // char c[]="a"; au lieu de char c;
...
}
alors je vois pas vraiment la nuance entre :
char c et char c[]="a";
ce ne sont pas tout les deux des caracteres?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 15 févr. 2004 à 11:50
ce n'est pas une nuance, c'est complètement différent: les crochets signifient que a est une tableau de caractères, alors que sans les crochets c'est un seul caractère. Quand tu initialises un tableau de caractère, tu mets une chaine entre ", et un caractère simple tu le mets entre '