Quelle valeur quand on sort d'une fonction?

Résolu
blumyrose Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
blumyrose Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous!!

Je suis nouvelle ici en tant que membre, mais votre super forum m'a deja depanné plus d'une fois dans divers domaines... Donc Merci!

aujourd'hui j'ai un probleme de programmation en C++ d'ordre général. Je travaille avec une fonction qui recoit comme variable, un indice i. Si je change la valeur de i dans la fonction, est-ce qu'elle sera changée lorsque que je sortirai de cette fonction?

en clair:

fonction dot (i, alpha)
{
...
i++
...
}

main void
{
...
i=3
dot (i, alpha);
i <------- combien vaudra i? 3 ou 4?
...
}

J'imagine que cette question doit etre simplissime pour certains d'entre vous, et qu'il me suffirait de le tester. Cepdt je n'ai aucun "truc"(désolée j'ai oublié comment ca s'appelle) sous la main pour coder et progammer en C++, et il m'est plus facile (surtout au boulot) de passer par ce forum que de dl un "truc", l'installer etc.

Merci pour votre reponse!!

A bientot
A voir également:

3 réponses

atomy Messages postés 442 Date d'inscription   Statut Membre Dernière intervention   92
 
Salut,

À moins de me tromper, la programmation est souvent (presque toujours) linéaire... je m'explique...

Lorsque tu roules un code, celui-ci se lis, comme du texte, de haut en bas, de gauche à droite... donc, il faut mettre les fonctions en haut, pour qu'il connaisse la fonction appelé plus bas....

Aussi, lorsque tu appelles une fonction, toutes les variables, dans cette fonction, vont changer...

Ce que je crois que je peux me tromper... c'est que dans certains languages, il existe des variables locales, globales, etc.... donc, le mieux c'est de faire le test...
0
frizou
 
Oulah...
Explique moi blumyrose comment tu veux programmer quoique ce soit sans IDE (c'est le fameux "truc") pour coder et sans compilateur pour tester ton code ?
Je te conseille de trouver ces fameux "trucs" où tu n'avanceras pas du tout en programmation... (pour cela cherche sur google tu trouveras ton bonheur : ex DevCPP ou visual express edition sont gratuits et tres performant pour coder du C/C++)
Pour en revenir à ta question, dans ta fonction "dot" la variable i est locale. c'est a dire que en rentrant elle a la valeur que tu lui as passée dans ton main(ici 3). Puis dans "dot" elle est incrémentée mais juste sa valeur donc elle vaudra 4 dans "dot" masi ne sera pas changée dans le main et y vaudra toujours 3.
Pour modifier sa valeur et faire en sorte que la modification soit faite dans le main il faut passer la variable i "par adresse". N'importe quel cours de C sur le web explique ça très bien.
Bon courage
0
blumyrose Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup!! C'est vrai que ca me rappelle uelque chose cette histoire d'adresse... :-P Donc le code presenté ne changera pas la valeur de i a la sortie de ma fonction. Nickel!!

Pour éclaircir les choses, je suis juste en train de creer un algo, dont je ferai l'application plus tard sur Labview... je ne fais que reflechir sur papier, donc pas besoin d'IDE absolument (meme si ca aurait ete tres utile ici). Merci aussi pr les solutions en cas de pénurie d'IDE! Ca me servira tres certainement!


A bientot!
0