Chaine de caractère
Résolu/Fermé
istabandal
-
28 déc. 2013 à 15:23
ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015 - 29 déc. 2013 à 06:37
ellana29460 Messages postés 689 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 12 septembre 2015 - 29 déc. 2013 à 06:37
A voir également:
- Chaine de caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
3 réponses
ellana29460
Messages postés
689
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
12 septembre 2015
172
28 déc. 2013 à 15:37
28 déc. 2013 à 15:37
j'ai modifie ton code, et ceci fonctionne :
#include<stdio.h> #include<conio.h> #include<string.h> int comparech(char ch1[], char ch2[]) { int i=0, j=0; while( *(&ch1+i) != '\0') ///tant que la valeur de ce qui est a l'adresse memoire ch1+i est dofferent de '\0' i++; j=i; for(i=0;i<=j;i++) { if(ch1[i] != ch2[i]) return 1; ///les deux chaines sont dfferntes } return 0; ///les deux chaines sont identiques } int main() { char ch3[50]; char ch4[50]; printf("entrer une chaine de carctère: "); gets(ch3); printf("entrer encore une autre chaine de caractere: "); gets(ch4); printf("%d",comparech(ch3,ch4)); return 0; }
Merci ##ELLANA 29460##, je viens de voire mon erreur. c'était au niveau de l'appel de la fonction. j'ai juste ajouté le printf de ton programme principal et ça marche aussi!!
merci neaucoup
merci neaucoup
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 déc. 2013 à 16:44
28 déc. 2013 à 16:44
Bonjour,
Attention, gets() est obsolète. On utilise à la place fgets().
Ces deux fonctions stockent également le \n. Il faut donc penser à le retirer. Sinon gare aux mauvaises surprises.
Je mets en résolu puisque tu sembles avoir trouvé la solution :-))).
Attention, gets() est obsolète. On utilise à la place fgets().
Ces deux fonctions stockent également le \n. Il faut donc penser à le retirer. Sinon gare aux mauvaises surprises.
Je mets en résolu puisque tu sembles avoir trouvé la solution :-))).
28 déc. 2013 à 16:01
merci
28 déc. 2013 à 16:42
while( *(&ch1+i) != '\0')
ch1 est déjà un pointeur. Donc pas besoin de &. De plus, ce que tu écris est exactement la même chose que ch1[i]. Donc l'erreur ne se situe pas là.
29 déc. 2013 à 06:37