Bonjour a tous !

Debutant, j'apprend le C++.

Je coince sur ces deux type de code :

#
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;
}
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
 
 #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.