sakjimh
Messages postés13Date d'inscriptionjeudi 9 mars 2006StatutMembreDernière intervention31 décembre 2007
-
20 oct. 2006 à 22:56
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
21 oct. 2006 à 18:39
salut à tous
voila j'ai un petit problème: je veux crée un tableau de caractère avec une boucle for et l'afficher caractère par caractère:
#include <conio.h>
#include <stdio.h>
#define L 255
void saisie(char x[L])
{
int i;
for(i=0;x[i]!='\0';i++)
scanf("%c",&x[i]);
x[i]='\0';
}
void affiche(char x[L])
{
int i;
for(i=0;x[i]!='\0';i++)
printf("%c\n",x[i]);
}
void main()
{
//clrscr();
char ch[L];
saisie(ch);
affiche(ch);
getch();
}
ou est la faute?!
merci d'avance
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 20 oct. 2006 à 23:29
Salut :
La faute est claire et évidente :
la condition dans la boucle est mal fausse
for(i=0; ch[i] != '\0'; i++)
Dans l'appel tu fais :
char ch [L];
saisie (ch);
Initialement le contenu de ch est aléatoire. Est tu sur que tu vas rencontrer un '\0'
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 20 oct. 2006 à 23:48
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 21 oct. 2006 à 00:47
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 21 oct. 2006 à 08:28
Salut :
Mais ça revient au même. Pourquoi compliquer les choses tant qu'il y a des solutions plus simples à moins que tu cherches autre chose à faire que je ne peux pas dissimuler à travers ce petit bout de code?
sakjimh
Messages postés13Date d'inscriptionjeudi 9 mars 2006StatutMembreDernière intervention31 décembre 2007 21 oct. 2006 à 18:08
ah oui oui je vois j'ai confondu le \n avec le \0 de la fin de la chaine merci titi035 merci aussi ombitious developper mais je cherche une solution sans les *pointeur
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 21 oct. 2006 à 18:39
Salut :
Il faut que tu prend l'habitude d'utiliser les char *
C'est le coeur du C.