que fait cette fonction(5 lignes)
Bonjour,
Je suis entrain de lire le code d'un collègue mais je comprend pas ce que fait cette fonction:
on suppose *x ='a' *y ='b'
Code:
1 2 3 4 5 6 7 8
|
char * myster ( char* x , char* y){
char* z= x;
while ( *z != 0 && *z!=*y){
z++;
if(*z) return z;
else return NULL;
} |
Interprétation que je propose:
En entrée on a deux pointeurs sur caractère, on définit une variable local à la fonction z étant aussi pointeur sur caractère.
tanque *z! = 0 ( 0 correspond en asci a null /* j'ai pas compris ça: c'est quoi le caractère null déjà null est une chaine de caractère*/
et (*z!=*y ) donc pour s'arrêter il faut avoir ou bien *z = b ou bien *z=null!!
juste ici quand on incrémente z au début il s'incrémente de 1 (sizeof(char)) mais après s'il pointe vers un double par exemple ???? il s'incrémentera de 8 ???
j'ai essayé en compilant... mais je vois pas l'idée
Je suis vraiment coincé, merci pour toute réponse