Problème lors de l'affectation d'un caractère a une chaine
eemikhm
Messages postés6Date d'inscriptionjeudi 30 avril 2009StatutMembreDernière intervention 3 mai 2010
-
10 mai 2009 à 21:14
isil4
Messages postés15Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention18 janvier 2012
-
13 mai 2009 à 14:24
Bonsoir, je vous en pris je besoin une réponse a mon problème en urgence.
Voici mon programme qui veut pas s'exécuter(problème lors de l'execution).
int i=0;char*ch;char indice='0';
main()
{
printf(" donnez indice\n");
scanf("%c",indice);
if (indice=='0') { ch[i]='0';i++;printf(" entre 1 \n"); }
else {ch[i]='1';i++;printf(" entre 2 \n");}
i=0;
while(ch[i]!='\0')
printf("%c",ch[i]);
}
Merci d'avance.
A voir également:
Problème lors de l'affectation d'un caractère a une chaine
2) Ton programme, est super bizarre... Il y a pas mal d'erreur.
int i=0;char*ch;char indice='0';
Pourquoi faire des variables globales ? Ca ne sert à rien et il est déconseillé d'en utiliser (à moins d'être vraiment sur de ce que tu fais).
De plus, si plus tard dans ton programme tu veux utiliser ch comme un tableau, alors soit tu l'alloues avec malloc, soit tu le déclare comme un tableau statique.
char ch[32];
main()
La signature propre serait (en C ansi): int main(void)
{
printf(" donnez indice\n");
scanf("%c",indice);
scanf attend un pointeur, donc il faut lui passer l'adresse de indice.
scanf("%c", &indice);
if (indice=='0')
{
ch[i]='0';
i++;
printf(" entre 1 \n");
}
else
{
ch[i]='1';
i++;
printf(" entre 2 \n");
}
i=0;
while(ch[i]!='\0')
printf("%c",ch[i]);
Ou tu peux directement écrire : printf("%s", ch);
}
isil4
Messages postés15Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention18 janvier 2012 13 mai 2009 à 14:24
Moi je pensais plutot aux bibliotheques permettant de manipuler les chaines de caractéres, pour ton ch, tu peux utiliser strcpy(ta chaine, kle caractére que tu veux inserer); ou bien si tu veux a chaque fois ajouter un caractére tu fais strcat(ta chaine, ton caractére), seulemnt tu dois inclure <string.h>.
bonne chance