Bonjour a tous !
Debutant, j'apprend le C++.
Je coince sur ces deux type de code :
#et celui ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <iostream> using namespace std; double carre(double x) { double resultat; resultat = x*x; return resultat; } int main() { double nombre, carreNombre; cout << "Entrez un nombre : "; cin >> nombre; carreNombre = carre(nombre); //On utilise la fonction cout << "Le carre de " << nombre << " est " << carreNombre << endl; return 0; }
#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <iostream> using namespace std; double carre(double x) { double resultat; resultat = x*x; return resultat; } int main() { for(int i(1); i<=20 ; i++) { cout << "Le carre de " << i << " est : " << carre(i) << endl; } return 0; }
D'apres le tutoriel, pour le 1 er code, la modification ne se fait uniquement que sur la variable carreNombre, et NON sur la variable nombre, (apres le resultat du return),
mais le code suivant, c'est la variable i qui est directement modifiée.
Or dans l'explication du tutoriel, je cite:
Ce n'est que lors du return que les variables de main() sont modifiées c'est-à-dire ici la variable carreNombre. La variable
nombre reste inchangée lors de l'appel à la fonction.
A lire cette explication, la variable i ne devrait pas etre modifiée, or c'est le cas...
L'explication n'est pas tres claire ou du moins incomplete, il devrait ajouter que lorsque il y a le symbole =
seule la variable situé a gauche de ce symbole est modifiée,
mais
s'il n'y a pas ce symbole = la variable i ( dans cet exemple), peut etre modifiée... Ai je bon ?
Merci pour vos retours.
Partager