Quel est le but de cette fonction ?
hazimgdl
Messages postés
29
Statut
Membre
-
hazimgdl -
hazimgdl -
Bonjour,
Pouvez vous em dire quel est le but de cette fonction ?
int func(char s1[], char s2[])
{
int i=0,j=0;
while (s1[i]!='\0')
{
j=0;
while (s2[j]!='\0' && s1[i+j]!=0)
{
if (s1[i+j]!=s2[j])
break;
j++;
}
if (s1[j]=='\0') return i;
i++;
}
return -1;
}
Pouvez vous em dire quel est le but de cette fonction ?
int func(char s1[], char s2[])
{
int i=0,j=0;
while (s1[i]!='\0')
{
j=0;
while (s2[j]!='\0' && s1[i+j]!=0)
{
if (s1[i+j]!=s2[j])
break;
j++;
}
if (s1[j]=='\0') return i;
i++;
}
return -1;
}
A voir également:
- Quel est le but de cette fonction ?
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction cachée google chrome - Guide
1 réponse
Bonjour,
C'est une comparaison de deux chaines si la chaine 2 n'est pas identique à la 1 la fonction retourne -1 si elles sont identiques* alors 0
*Elle utilise la taille de la chaine 1
dans le premier while s1[i]!='\0' tant qu'on arrive pas en bout de s1
et dans le second while s1[i+j]!=0 tant qu'on arrive pas en bout de s1
du coup elle ne compare qu'avec la longueur de la chaine s1 sur la chaine s2
Et donc la première boucle n'est pas utile
C'est une comparaison de deux chaines si la chaine 2 n'est pas identique à la 1 la fonction retourne -1 si elles sont identiques* alors 0
*Elle utilise la taille de la chaine 1
dans le premier while s1[i]!='\0' tant qu'on arrive pas en bout de s1
et dans le second while s1[i+j]!=0 tant qu'on arrive pas en bout de s1
du coup elle ne compare qu'avec la longueur de la chaine s1 sur la chaine s2
Et donc la première boucle n'est pas utile
int func(char s1[], char s2[])
{
int i=0;
while(s1[i]!='\0'){
if(s1[i]!=s2[i])
return -1;
i++;
}
return 0;
}
Je crois que j'ai quelque chose faux sur la fonction pour le s1[i+j] cé !='\0' pas 0 et à la fin cé if s2[j]=='\0' pas s1.
Libérez le savoir, arrêtez de jouer les profs.