Salut,
J'ai un petit prog que je dois commenter mais y'a des points que je ne comprends pas.
Le programme simule la fonction "cat" en Unix a la différence qu'en plus il affiche les numéros de ligne en début de ligne sous la forme 000 (on peut donc aller jusqu'à 999).
Voila la fonction avec laquelle j'ai du mal.
Elle reçoit un numéro de ligne (par exemple 1,2,3...) et renvoie le numéro sous la forme 001,002,003...
char * conversion(int n)
{
//déclaration variables
int u=0; //pour les unités
int d=0; //pour les dizaines
int c=0; //pour les centaines
char U,D,C; //3 chaines de caractères
char *res; //pointeur sur chaine
//code
//je comprends pas ça-je vois ce que ça fait mais j'arrive pas a l'expliquer
u=n%10;
d=((n-u)%100)/10;
C=((n-u-d)%1000)/100;
//la non plus comprend pas- je crois que ça a rapport ave cle code ascii
U='0'+u;
D='0'+d;
C='0'+c;
//on alloue a res une taille de 4 caracteres
res=(char *)malloc(4*sizeof(char));
//initialisation
res[0]='0';
res[1]='0';
res[2]='0';
//on affecte a chacun des elements les valeurs de C,D,U et le dernier vaut '\0'(fin de ligne)
res[0]=C;
res[1]=D;
res[2]=U;
res[3]='\0';
return res; //retourne la valeur de res (par exemple 025\0)
}
Quelqu'un pourrait il m'aider svp
Message édité par neyro le 08-12-2003 à 19:21:18