Bon, quand je donne deux versions d'une fonction, la première est simple, et compréhensible. La deuxième est celle que je mettrais dans un programme car plus rapide, et néanmoins compréhensible...
| int Longueur (char t[]) {
int i;
for (i=0;t[i]!='\0';i++);
return i;
}
int Longueur (char * t) {
int i;
for (i=0;*t++;i++);
return i;
}
int NombreChiffre (char t[]) {
int i,j;
for (i=0,j=0;t[i]!='\0';i++)
if (isdigit(t[i]))
j++;
return j;
}
int NombreChiffre (char * t) {
int i;
for(i=0;(isdigit(*t))?i++:,*t++;);
return i;
}
int Different (char t[], char u[]) {
int i;
if (Taille(t)!=Taille(u))
return 0;
for(i=0;(t[i]!='\0')&&(u[i]!='\0');i++)
if (t[i]!=u[i])
return 0;
return 1;
}
int Different (char * t, char * u) {
for(;*t||*u;)
if (*t++!=*u++)
return 0;
return 1;
}
void MetEnMajuscule (char t[]) {
int i;
for (i=0;t[i]!='\0';i++)
if (islower(t[i]))
toupper(t[i]);
}
void MetEnMajuscule (char * t) {
t--;
for (;*t++;)
if (islower(*t))
toupper(*t);
} |
Bon, je ne sais pas si tout ca marche ;), j'ai pas testé, mais ca devrais ;)