Bonjour,
je commence en programation C, je fait un petit programme qui doit permettre d'écrire 2 mots et d'afficher les plus long. Je voudrais le faire sans passer par un tableau mais juste des pointeurs.
quand je compile le programme ça m'affiche que tout va bien, mais au moment de l'éxecuter il ne va pas jusqu'au bout. J'ai utilisé le débugger, mais je sais pas trop m'en servir, mais aparament il doit y avoir un problème dans cette boucle:
for ( ; *p != '\0' ; p++, i++)
je ne sais pas si c'est possible de mettre un pointeur en condition?
sinon la fonction entière qui pose problème c'est celle la:
char *compte(char *tab1, char *tab2)
{
int i=0, j=0;
char *p;
p = tab1;
for ( ; *p != '\0' ; p++, i++)
p=tab2;
for ( ; *p != '\0' ; p++,j++)
if (i > j)
return tab1;
if (j > i)
return tab2;
}
tab1 et tab2 sont une chaine de caractères contenant chacun un mot, et *p avance dans le mot, et i et j comptent.
il y a peut-être beaucoup plus simple mais j'aimerais comprendre pourquoi ça marche pas.
merci
Configuration: Windows XP
Firefox 2.0.0.11