Fonction en C
jack
-
crabs Messages postés 909 Statut Membre -
crabs Messages postés 909 Statut Membre -
Bonsoir , quelqu'un pourrait me dire concrètement quel est le role de cette fonction en C :
merci
void copier(char vers[], char de[])
{
int i = 0;
while ( (vers[i] = de[i]) != '\0')
++i;
}
merci
3 réponses
-
Salut,
C'est sensé copier la chaine de caractères contenue dans le tableau de
caractère 'de' , dans la chaine contenue dans le tableau de caractères 'vers'.
A+, crabs -
En décomposé ça donne ça :
void copier (char vers[],char de[]){ int i=0; while(de[i]!='\0'){ vers[i]=de[i]; i++; } }
Mais moi j'aurais plutôt écrit
void copier (char vers[],char de[]){ unsigned int i; for(i=0;de[i]!='\0';++i){ vers[i]=de[i]; } } -
"Salut,
C'est sensé copier la chaine de caractères contenue dans le tableau de
caractère 'de' , dans la chaine contenue dans le tableau de caractères 'vers'.
A+, crabs "
c'est pas plutot la chaine contenu dans vers qui est copiée dans de?-
Salut,
while ( (vers[i] = de[i]) != '\0') ++i ;
Pour moi cette affectation met dans le caractère du tableau 'vers' à la position 'i' le
caractère du tableau 'de' à la position 'i'; tant que ce caratère n'est pas celui de
fin de chaine ('\0').
L'affectation étant faite avant le test, le '\0' est copié dans 'vers'.
-