[C] Question sur les retour de valeur

Question sur les retour de valeur [C] - Programmation

Marsh Posté le 24-01-2002 à 13:08:50    

Dans une fonction, quand on retourne une valeur, est-ce que le compilateur lit le reste de la fonction ou passe directement à l'instruction qui suit la fonction?
 
gex:
 
bool test(int n)
{
if (!n)
return false;
 
return true;
}
 
Si n vaut 0 ca retourne la valeur false ou true?

Reply

Marsh Posté le 24-01-2002 à 13:08:50   

Reply

Marsh Posté le 24-01-2002 à 13:43:01    

Il se casse si je me souviens bien.


---------------
A+++ Bruce - http://www.bheller.com
Reply

Marsh Posté le 24-01-2002 à 14:05:02    

Ca retourne FALSE. Sinon, je te propose une maniere plus élégante de ta fonction :
 
bool test(int n)
{
 return ( n  ? TRUE:FALSE);
}

Reply

Marsh Posté le 24-01-2002 à 14:37:20    

Ca "marcherait"-y
 
bool test(int n)  
{  
return (BOOL)(n); // ou return (n == TRUE);
}
 
?

Reply

Marsh Posté le 24-01-2002 à 14:38:45    

KarLKoX a écrit a écrit :

Ca retourne FALSE. Sinon, je te propose une maniere plus élégante de ta fonction :
 
bool test(int n)
{
 return ( n  ? TRUE:FALSE);
}  




 
J'trouve franchement pas ça + élégant !
ça fait style "je connais les ficelles", mais bon. ça c'était bien à l'époque ou on économisait les lignes de code. C qd même carrément + clair de mettre un bon "if".

Reply

Marsh Posté le 24-01-2002 à 14:52:32    

legreg a écrit a écrit :

 
 
d'apres toi?
si tu mets return c'est que tu veux qu'il retourne.
 
A+
LEGREG  




 
parle pas comme si il avait dit un truc complètement con, c pas SI évident que ça au départ !

 

[edtdd]--Message édité par El_Gringo--[/edtdd]

Reply

Marsh Posté le 24-01-2002 à 14:59:21    

El_Gringo>C'est une histoire de gout, on peut pas plaire a tout le monde, c'est just que c'est mon coding style, que j'ai eu a force de lire pas mal de doc ecrit en ANSI C. Puis, si on peut gagner quelques lignes tout en restant clair, moi je dit pas non :)

Reply

Marsh Posté le 24-01-2002 à 15:02:22    

KarLKoX a écrit a écrit :

El_Gringo>C'est une histoire de gout, on peut pas plaire a tout le monde, c'est just que c'est mon coding style, que j'ai eu a force de lire pas mal de doc ecrit en ANSI C. Puis, si on peut gagner quelques lignes tout en restant clair, moi je dit pas non :)  




 
Tu trouves ça clair ?
évidement, une fois qu'on le sait, c pas le truc ultra compliqué ! Ms bon... c un peu "pourquoi faire simple qd on peut faire le truc de façon un peu + tordue"
Je suis sur que t'addores programmer en shell unix toi, non !?
genre tout un programme sur une seule ligne

Code :
  1. ls%d['*dir/pp\youpi]"";/\


 
:D (vs avez compris: j'aime pas ça, et j'y connais rien...)

 

[edtdd]--Message édité par El_Gringo--[/edtdd]

Reply

Marsh Posté le 24-01-2002 à 15:05:18    

El_Gringo a écrit a écrit :

 
parle pas comme si il avait dit un truc complètement con, c pas SI évident que ça au départ !  




 
c'etait pas destine a faire paraitre la question con.
 
Ce n'est pas evident quand on reflechit
a ce qu'est un langage comme le C
par rapport a d'autres choses comme
les langages temps reel
mais c'etait sans doute trop court et sec
pour debuter une vraie discussion
et donc une reponse inappropriee.
 
=> Message supprime.
 
A+
LEGREG

Reply

Marsh Posté le 24-01-2002 à 15:08:27    

legreg a écrit a écrit :

 
 
c'etait pas destine a faire paraitre la question con.
 
Ce n'est pas evident quand on reflechit
a ce qu'est un langage comme le C
par rapport a d'autres choses comme
les langages temps reel
mais c'etait sans doute trop court et sec
pour debuter une vraie discussion
et donc une reponse inappropriee.
 
=> Message supprime.
 
A+
LEGREG  




 
Ouahou...
Du coup c moi qui à l'air d'un con avec mon message qui sort de null part ! ça m'apprendra à faire le justicier ! :D

Reply

Marsh Posté le 24-01-2002 à 15:08:27   

Reply

Marsh Posté le 24-01-2002 à 16:10:41    

El_Gringo>qu'est ce qu'il te prend a etre agressif ?? A la base j'étais venu apporter mon aide ... Si tu n'est pas content de ma facon de faire, ca ne regarde que toi, a la limite, le principal interessé, c'est l'auteur de ce post, pas toi.  
Puis non, je ne fait pas de prog shell mais je compte bien en faire. Et ca, ca ne regarde que moi ...

Reply

Marsh Posté le 24-01-2002 à 16:22:56    

KarLKoX a écrit a écrit :

El_Gringo>qu'est ce qu'il te prend a etre agressif ?? A la base j'étais venu apporter mon aide ... Si tu n'est pas content de ma facon de faire, ca ne regarde que toi, a la limite, le principal interessé, c'est l'auteur de ce post, pas toi.  
Puis non, je ne fait pas de prog shell mais je compte bien en faire. Et ca, ca ne regarde que moi ...  




 
Maieuuuh, j'étais pas agressif !
Focément, y a pas le ton de la phrase à l'écrit... mais il était pas agressif en tt cas... dsl si tu l'as pris comme ça (et c clair que tu fais ta vie...)
 
g été traumatisé par le shell unix pdt mes études (un prof fashiste et un langage ultra condencé qui en raviera certain, mais me rebute un maximum)

 

[edtdd]--Message édité par El_Gringo--[/edtdd]

Reply

Marsh Posté le 24-01-2002 à 16:33:07    

Oki, ca roule :)
 
Pour le shell, c'est sur que si tu as eu un fashiste comme prof, tu en soi un peu dégouté : le fashisme, ca a rien de bon ;)

Reply

Sujets relatifs:

Leave a Replay

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