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
|
int all_digits(char *s)
{
/* verification qu'on ne va pas deferencer un pointeur nul */
if (s != NULL)
{
/*tant que le caractere a la position *s n'est pas '\0'
*(fin de chaine) et que isdigit() renvoit
* une valeur non-nulle, on passe au caractere suivant. */
while(*s && isdigit(*s))
{
/* Incrementation du s */
s++;
}
/* Le '\0' terminal ou le '\n' a ete atteint,
* donc isdigit() n'a jamais renvoye 0
* -> la chaine n'est composee que de caracteres numeriques.
*
* isdigit() a renvoye 0.
* On n'a pas atteint le '\0' terminal, ni le '\n'.
* -> la chaine contient au moins un caractere non-numerique.*/
return *s == '\0' || *s =='\n' ;
}
return 0;
} |