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'
Interprétation que je propose:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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
Partager