Ou est l'erreur ?

datamakememade -  
 sayrus86 -
Bonjour,voici un code pr comparer deux chaines:

#include<stdio.h>
#include"myString.h"
int main (){
char* str1;
char* str2;
char result;
printf("Enter string1:\n");
scanf("%s",str1);
printf("Enter string2:");
scanf("%s",str2);
result=myStrCmp(str1,str2);
if(result==1)
printf(" same");
else
printf(" different");
}
int myStrCmp(char* str1, char* str2){
int i;

if (myStrLen(str1) - myStrLen(str2))

return(1);

for ( i = 0 ; i < myStrLen(str1) ; i++ ) {
if (*(str1+i) - *(str2+i))
return(1);
}

return(0);
}

le programe menvoi un message d"erreur aprés avoir enter la deuximém chaine et se ferme ....
Configuration: Windows XP
Internet Explorer 6.0
A voir également:
  • Ou est l'erreur ?
  • Erreur t32 - <a href="https://forums.commentcamarche.net/forum/livebox-200">Forum Livebox</a>
  • Erreur s3 bbox - <a href="https://forums.commentcamarche.net/forum/bbox-bouygues-285">Forum Bbox Bouygues</a>
  • Erreur 4101 - <a href="https://forums.commentcamarche.net/forum/carte-graphique-181">Forum Carte graphique</a>
  • Iptv erreur de lecture - <a href="https://forums.commentcamarche.net/forum/tv-video-21">Forum TV & Vidéo</a>
  • Instagram une erreur s'est produite - <a href="https://forums.commentcamarche.net/forum/instagram-342">Forum Instagram</a>

4 réponses

lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
 
Salut,

Pour commencer tu n'as pas allouer de la mémoire pour tes pointeurs
0
datamakememade
 
ou ca dan la main fucntion ?? j'ai pas compri ...késk je devré faire?
0
xav3601 Messages postés 3390 Statut Membre 312
 
Quel message d'erreur?

ensuite cette ligne ne sers a rien:
if (myStrLen(str1) - myStrLen(str2))
et enfin tu declare ton result en char et tu t'en sers comme d'un int!
0
datamakememade
 
aprés avoir compiler on menvoi un mesage komme koi ..Rencontré une erreur et doi fermé
0
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
 
Re,

Par exemple
char str1[50]; 
char str2[50]; 
ou
#include stdlib.h

char* str1; 
char* str2; 

str1 = malloc(50);
str2 = malloc(50;)

0
sayrus86
 
salut tu doit d'abord allouer de l'espace memoire pour tes deux pointeurs .

char * str1=(char*) MALLOC (la taille de la chaine en octets);

meme chose pour str2 .
0