Salut, j'ai voulu faire une fonction semblable à strcmp (pour comparer 2 tableaux.
Voici ma fonction :
#include <stdio.h>
#include <stdlib.h>
int compare(const char chaine1[], const char chaine2[])
{
int valeurRenvoyee = 0; // On initialise la valeur qui sera renvoyée par la fonction
long a = 0, e = 0, i = 0; // a, e et i seront des simples comtpeurs
while (chaine1[a] != '/0' && chaine2[a] != '/0')
/* Tant qu'on arrive pas à la fin d'une des 2 chaines et que les valeurs des 2 chaines sont identiques,
la valeurRenvoyee prend la veleur de 0 */
{
if (chaine1[a] != chaine2[a])
{
valeurRenvoyee = 1;
}
a++;
}
if (valeurRenvoyee = 0)
{
while (chaine1[e] != '/0')
{
e++; // On cherche à savoir combien de caractères contient la chaîne 1
}
while (chaine2 != '/0')
{
i++; // On veut savoir combien de caractères contient la chaîne 2
}
if (e == i)
// Si les 2 chaines contiennent autant de caractères avant le '/0', alors elles sont identiques
{
valeurRenvoyee = 0; // valeurRenvoyee vaut 0
}
else
{
valeurRenvoyee = 1;
}
}
return valeurRenvoyee;
}
Je l'ai un peu modifié depuis : le début et j'ai 2 erreurs :
le programme plante
voici le log de compilation :
Switching to target: default
Compiling: main.c
Compiling: compare.c
compare.c:9:26: warning: multi-character character constant
compare.c: In function `compare':
compare.c:9: warning: comparison is always true due to limited range of data type
compare.c:9:48: warning: multi-character character constant
compare.c:9: warning: comparison is always true due to limited range of data type
compare.c:21:30: warning: multi-character character constant
compare.c:21: warning: comparison is always true due to limited range of data type
compare.c:25:30: warning: multi-character character constant
compare.c:25: warning: comparison is always true due to limited range of data type
Linking console executable: G:\Documents and settings\Alex\Mes Documents\Prog\tableaux\compare\compareTableaux.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 8 warnings
Pourriez-vous m'éclairer un peu sur ce que j'ai mal fait svp?^^
|