1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Pour pc1:
Si str est NULL, alors on met pc1 à NULL et on ne cherche pas c1.
Sinon, on fait un strchr(c1).
Si c1 est trouvé, pc1 pointera dessus.
Sinon, pc1 sera NULL.
Ici, soit pc1 pointe sur le premier c1 de la chaîne, soit il est nul.
Il peut être nul soit parce que str est NULL, soit parce que c1 n'est pas dedans.
Pour pc2:
Si pc1 est NULL, alors on met pc2 à NULL et on ne cherche pas c2
Sinon, on fait un strchr(c2) sur pc1 :
En clair, on cherche le premier c2 qui soit après le premier c1.
Si c2 est trouvé, pc2 pointera dessus.
Sinon, pc2 sera NULL.
Ici, soit pc2 pointe sur le premier c2 après le premier c1 de la chaîne, soit il est nul.
Il peut être nul soit parce que str est NULL, soit parce que c1 n'est pas dedans, soit parce qu'il n'y a pas de c2 après c1.
Pour pc3:
Si pc2 est NULL, alors on met pc3 à NULL et on ne cherche pas c3
Sinon, on fait un strchr(c3) sur pc2 :
En clair, on cherche le premier c3 qui soit après le premier c2 qui soit après le premier c1.
Si c3 est trouvé, pc3 pointera dessus.
Sinon, pc3 sera NULL.
Ici, soit pc3 pointe sur le premier c3 après le premier c2 après le premier c1 de la chaîne, soit il est nul.
Il peut être nul soit parce que str est NULL, soit parce que c1 n'est pas dedans, soit parce qu'il n'y a pas de c2 après c1, soit parce qu'il n'y a pas de c3 après c2.
Donc, si la chaîne est nulle ou si un seul (ou plus) des caractères n'est pas trouvé, pc3 sera NULL.
Si tout est OK, pc3 ne sera pas NULL. |