quelques comparaison

quelques comparaison - C - Programmation

Marsh Posté le 27-10-2003 à 20:26:23    

est ce que vous pouvez me donner la différence entre :  
 
- le & et le &&
- faire tant que(do...while) et tant que (while...) <== avec exemple svp
- " " et ' '
- à quoi sert le fflush (mon prof m'a dit que ça servait à vider qqch, mais je me rappel plus quoi)
 
Merci d'avance!!!

Reply

Marsh Posté le 27-10-2003 à 20:26:23   

Reply

Marsh Posté le 27-10-2003 à 20:27:59    

& : et bit à bit
&& : et logique
fflush permet de vider les buffers de sorties

Reply

Marsh Posté le 27-10-2003 à 20:29:26    

avec un do...while, la boucle est effectuée au moins une fois avant l'évaluation de la condition.
 
"" est une chaîne de caractères
'' est un char.

Reply

Marsh Posté le 27-10-2003 à 20:30:31    

& : opérateur "and" booléen entre 2 valeurs
&& : opérateur de comparaison
do...while : la boucle est exécutée au moins une fois
while : la boucle ne sera pas forcément exécutée
fflush : sert à vider tout buffer de SORTIE. fflush(stdin) est donc indéfini et n'a aucun effet.
 
edit: mais on vous apprend quoi à l'école ? :pfff:


Message édité par Harkonnen le 27-10-2003 à 20:37:08
Reply

Marsh Posté le 27-10-2003 à 20:33:29    

Harkonnen a écrit :


 
edit: mais on vous apprend quoi à l'école ? :pfff:


 
des trucs mais quand on seche a cause d'une cuite de la veille, et bien, voila :O

Reply

Marsh Posté le 27-10-2003 à 20:39:57    

chrisbk a écrit :


 
des trucs mais quand on seche a cause d'une cuite de la veille, et bien, voila :O

que celui à qui ça n'est jamais arrivé lui jète la première pierre....


Message édité par R3g le 27-10-2003 à 20:40:13
Reply

Marsh Posté le 27-10-2003 à 20:40:37    

R3g a écrit :

que celui à qui ça n'est jamais arrivé lui jète la première pierre....

[:antp]

Reply

Marsh Posté le 27-10-2003 à 20:40:46    

R3g a écrit :

que celui à qui ça n'ait jamais arrivé lui jète la première pierre....


 
je parle d'experience, g seché 98% des vendredis matins de la premiere année d'IUT :O
 
Seulement je ratrappais avec des bouquins/cours (ou pas du tout [:ddr555])
 

Reply

Marsh Posté le 27-10-2003 à 20:41:19    

cronos6 a écrit :

est ce que vous pouvez me donner la différence entre :  
 
- le & et le &&
- faire tant que(do...while) et tant que (while...) <== avec exemple svp
- " " et ' '
- à quoi sert le fflush (mon prof m'a dit que ça servait à vider qqch, mais je me rappel plus quoi)
 
Merci d'avance!!!


au niveau de types  
& est int * int -> int (logique bit à bit)
&& est de int * int -> 0 ou 1 (si l'un des 2 paramètre est zéro, le résultat est zéro, sinon c'est 1).

Code :
  1. do {
  2.   printf("coucou\n" );
  3. } while (0);


affiche coucou, car on exécute le bloc avant de regarder le test du while (on refait un tour s'il est vrai)

Code :
  1. while (0)
  2.   printf("coucou\n" );


n'affiche rien car on regarde le test du while avant d'exécuter le bloc (on fait un tour s'il est vrai).
 
" " est la chaine de caractères qui ne contient qu'un espace.
' ' est le caractère espace.
on a donc " " qui est équivalent à {' ', '\0'} c'est expliqué dans ton cours pourquoi.
 
fflush sert à vider la sortie d'affichage.

Code :
  1. int main() {
  2.   char *ptr = (char *)0;
  3.   printf("coucou" );
  4.   printf("%c\n", *ptr);
  5.   return 0;
  6. }


te fait un gros paté.

Code :
  1. int main() {
  2.   char *ptr = (char *)0;
  3.   printf("coucou" );
  4.   fflush(0);
  5.   printf("%c\n", *ptr);
  6.   return 0;
  7. }


t'affiche "coucou" avant de te faire un gros paté.
 
Le principe c'est qu'on n'affiche qu'à certains moments la sortie, mais si on fait (par exemple) un gros paté, toute la sortie qui n'a pas été affichée passe à la trappe (ce qui est très chiant quand tu cherches où est le bug à coups de printf).
 
fflush t'assure que le programme ne continuera pas tant que l'utilisateur n'aura pas à l'écran tout ce que tu lui a écrit avant le fflush. Même s'il y a un réseau entre toi et l'utilisateur (telnet et rlogin par ex.).
 
fflush ne vide jamais les tampons d'entrée.

Reply

Marsh Posté le 27-10-2003 à 20:42:28    

nananère je suis le seul à lui avoir montré le fflush tel qu'il va l'utiliser ...

Reply

Marsh Posté le 27-10-2003 à 20:42:28   

Reply

Marsh Posté le 27-10-2003 à 20:43:42    

nraynaud a écrit :

nananère je suis le seul à lui avoir montré le fflush tel qu'il va l'utiliser ...

j'ai jamais fais fflush(o)...

Reply

Marsh Posté le 27-10-2003 à 20:48:06    

R3g a écrit :

j'ai jamais fais fflush(o)...

tu m'a fait flipper !

Reply

Marsh Posté le 27-10-2003 à 20:48:53    

R3g a écrit :

j'ai jamais fais fflush(o)...

si l'argument est nul, fflush() vide tous les buffers de sortie

Reply

Marsh Posté le 27-10-2003 à 20:50:17    

Harkonnen a écrit :

si l'argument est nul, fflush() vide tous les buffers de sortie

Ah ben je savais pas. Moi j'ai appris fflush(stdout)
En même temps le C j'en ai fais 2 mois...

Reply

Marsh Posté le 27-10-2003 à 21:09:58    

merci pour vos réponses, je suis un peut moins bête maintenant

Reply

Marsh Posté le 27-10-2003 à 21:35:07    

cronos6 a écrit :

merci pour vos réponses, je suis un peut moins bête maintenant


 
Tu as Paris->marseille à faire, tu viens d'appeler l'ascenceur.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-10-2003 à 00:06:46    

kadreg a écrit :


 
Tu as Paris->marseille à faire, tu viens d'appeler l'ascenceur.


 
Et l'algo de l'ascenseur est buggé... Tu risques de devoir attendre un peu... :D

Reply

Sujets relatifs:

Leave a Replay

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