Code C question !

Code C question ! - C - Programmation

Marsh Posté le 13-12-2005 à 21:44:21    

Bonjour
 
est ce que quelqu'un comprend ce programme et pourrait me l'expliquer en me laissant des commentaires un peu partout dans le programme afin que je comprenne car je vais etre interrogé la dessus.. merci beaucoup je comtpe sur vous.. (NB : le prog est correct , corrigé )
 
Le voici :  
 

/*La fonction affchar() affiche tout les caractères contenus dans un tableau.*/
 
/*
  NOM : affchar()                                
  SYNOPSIS : #include<stdio.h>                            
         void affchar(char *pt);                        
  DESCRIPTION : La fonction affchar() affiche tout les caractères contenus dans un tableau.    
  RETOUR : Aucun                                
*/
 
#include <stdio.h>
 
void affchar(char *pt)
{
   int i = 0;
   while (*(pt+i) != 0x00)
   {
      printf("%c",*(pt+i));
      i++;
   }
   printf("\n" );
}
 
main()
{
   char t[5] = "ABCD";
   char *pt;
   int i = 0;
   pt = t;
   
 
   while (t[i] != 0x00)
   {
      printf("%c",t[i]);
      i++;
   }
   printf("\n" );
 
   i = 0;
   while (*pt != 0x00)
   {
      printf("%c",*pt);
      *(pt++);
   }
   printf("\n" );    
   pt = t;
 
   i = 0;
   while (*(pt+i) != 0x00)
   {
      printf("%c",*(pt+i));
      i++;
   }
   printf("\n" );
 
   affchar(t);
}

Reply

Marsh Posté le 13-12-2005 à 21:44:21   

Reply

Marsh Posté le 13-12-2005 à 21:52:39    

c'est très laid toujours, mais c'est un peu fait expres ! faut avoir compris le C pour le lire
Dis nous donc quelles parties tu ne comprend pas ? [:rogerlelapin]

Reply

Marsh Posté le 13-12-2005 à 22:02:50    

Je ne comprend pas a quoi servent toutes les boucles présentes donc ca serait sympa si vous pourriez me mettre des commentaires a coté de chaque ligne complexe afin que je comprenne.....je vous remercie
 ;)

Reply

Marsh Posté le 13-12-2005 à 22:07:35    

ouais ben non, on va pas te pondre un truc tout cuit non plus, allez je suis bon prince, 2 indices :
- *(pt+i) veut dire pt[i] (c'est la base ca hein tab[i] équivaut à *(tab+i), pourquoi? ben parce que le C traite tab comme un pointeur vers le premier element de tab)
- 0x00 veut dire NULL

Reply

Marsh Posté le 13-12-2005 à 22:16:48    

Ok merci je vais voir avec ca

Reply

Marsh Posté le 13-12-2005 à 22:23:21    


 
 
[:pingouino]...bref...
 
 
edit : pour pas mettre un message qui sert aussi peu que ce que j'avais fait...
La syntaxe de main indique qu'il doit retourner un entier  
donc -->

Code :
  1. int main (void)

au minimum et pour faire encore plus mieux tentons un petit  

Code :
  1. int main (int argc, char * argv[])


 
Enfin c'est pas le sujet...donc [:huit]


Message édité par gocho le 13-12-2005 à 22:26:26
Reply

Marsh Posté le 14-12-2005 à 11:42:42    

wareq a écrit :

Bonjour
 
est ce que quelqu'un comprend ce programme et pourrait me l'expliquer en me laissant des commentaires un peu partout dans le programme afin que je comprenne car je vais etre interrogé la dessus.. merci beaucoup je comtpe sur vous.. (NB : le prog est correct , corrigé )
 
Le voici :  
 

/*La fonction affchar() affiche tout les caractères contenus dans un tableau.*/
 
/*
  NOM : affchar()                                
  SYNOPSIS : #include<stdio.h>                            
         void affchar(char *pt);                        
  DESCRIPTION : La fonction affchar() affiche tout les caractères contenus dans un tableau.    
  RETOUR : Aucun                                
*/
 
#include <stdio.h>
 
void affchar(char *pt)
{
   int i = 0;
   while (*(pt+i) != 0x00)
   {
      printf("%c",*(pt+i));
      i++;
   }
   printf("\n" );
}
}



 
ok, je t'aide :
 

Code :
  1. int i = 0;


Crée une variable de type entier (nommée i) et l'initialise à zéro.
 

Code :
  1. i++;


incrémente la variable i de 1


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed