Petite question sur la commande 'return' [C] - C - Programmation
Marsh Posté le 03-03-2006 à 20:21:10
Un return ne renvoit qu'une seule valeur, si tu as besoin de plusieurs valeurs de retour, soit tu renvoies un tableau ou une structure, soit tu passes 2 arguments par pointeurs.
Marsh Posté le 03-03-2006 à 20:28:34
euh... sa depasse mon niveau de competences, la
(et encore, si je devai me contenter des cours que je reçois a ma fac, je serai encore a ecrire des programmes qui affichent des 'hello world' )
Marsh Posté le 03-03-2006 à 21:17:30
reiboul a écrit : je m'entraine a utiliser la commande 'return' et j'ai ici un petit probleme |
return n'est pas une 'commande', mais une 'instruction'.
Citation :
|
Je ne sais pas qui t'a fait croire que ce code avait un sens, mais c'est faux. En fait, seule dernière valeur (la plus à droite) est retournée, soit ici, la valeur de b.
|
Citation : |
Evidemment, ceci ne fonctionne pas du tout.
Soit tu passes l'adresse de 2 variables :
|
avec f() défini comme suit :
|
soit tu définis une structure
|
que tu instancies:
|
et dont tu passes l'adresse à la fonction
|
La fonction étant définie comme suit :
|
Marsh Posté le 03-03-2006 à 22:01:46
Bon vu que mon niveau en C est relativement faible, je crois que pour le moment je vais me contenter d'une structure du type
int fonction (int x, int y)
{
int a, b;
a=2*x;
b=4*a+y;
printf("%d et %d",a,b);
}
main()
{
int x, y;
scanf("%d",&x);
scanf("%d",&y);
fonction(x,y);
}
C'est un exemple totalement bidon bien sur, mais bon jusqu'a ce que je voie la structure que je voulais en cours, je crois que je v en rester la
merci pour votre aide!
Marsh Posté le 06-03-2006 à 12:46:11
reiboul a écrit : |
Tant qu'à faire un prog "bidon" fais le correctement
Code :
|
Marsh Posté le 06-03-2006 à 15:16:54
boarf j'ai pas besoin que ma fonction main ne me renvoie qqchose y'a un interet a faire sa?
Marsh Posté le 06-03-2006 à 15:37:58
reiboul a écrit : boarf j'ai pas besoin que ma fonction main ne me renvoie qqchose y'a un interet a faire sa? |
1 - c'est la regle
2 - ton système attend une valeur. Celle-ci doit être cohérente. Les valeurs portables sont :
http://mapage.noos.fr/emdel/notes.htm#typemain
---------------
[1] Définies dans <stdlib.h>
Marsh Posté le 06-03-2006 à 15:43:23
sa sert quand meme pas a grand chose dans un programme simple, non?
(du genre de ce qu'on programme en cours pour apprendre)
Marsh Posté le 06-03-2006 à 15:57:33
reiboul a écrit : sa sert quand meme pas a grand chose dans un programme simple, non? |
Si on ne le fait pas, le comportement est indéterminé. Maintenant, tu fais ce que tu veux.
Marsh Posté le 06-03-2006 à 16:13:30
donc je suppose qu'il vaut mieu prendre les bonnes habitudes
merci de tes conseils!
Marsh Posté le 03-03-2006 à 20:01:46
Bonosir!
voila j'ai une question (comme pas mal de gens ici lol) pour faire un programme en C
je m'entraine a utiliser la commande 'return' et j'ai ici un petit probleme
j'ai une fonction, appelons la 'fonction' qui me calcule 2 valeurs, et une fonction main, dans laquelle je dois recuperer ces valeurs et les afficher
pour l'instant j'ai un truc qui ressemble a
int fonction (int x, int y)
{
---
--
return a, b;
}
main()
{
---
----
printf("%d et %d",fonction(x, y))
}
a la place des %d dans mon printf j'aimerai donc afficher le couple de reponses A et B obtenu grace a 'fonction', le probleme est que en faisant comme ça, j'ai des valeurs assez folkloriques qui s'affichent...
qqn a une idée alors pour afficher mes 2 valeurs a et b en modifiant un peu cette ecriture??
merci bcp
Message édité par reiboul le 03-03-2006 à 20:02:36
---------------
Amon Amarth, Dark Tranquillity, Opeth, Dimmu Borgir, In Flames, Children of Bodom, Kreator, Metallica... pas d'la musique de paidai tout sa :o