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 ;)