The uninitialized variable = = in the function definition calls the function argument value?

  c++, question

1. The uninitialized variable = = in the function definition calls the function argument value?

#include <iostream>
 
 using namespace std;
 int recure2(int n);
 int main()
 {
 int num;
 cin>>num;
 cout<<recure2(num)<<endl;
 cout << "Hello World!"   << endl;
 return 0;
 }
 
 int recure2(int n){
 int result;
 cout<<hex<<&result;
 if (n!  =1) {
 recure2(n-1);
 }
 if(n==1){
 result=0;
 }
 result*=n;
 cout<<result<<endl;
 return result;
 }
Is it strange that the result value in the function definition is the same as the n value passed from the argument to the formal parameter?  ?
 My debug interrupt is placed in int result;  Get the values and addresses of result and n!  Below
 
 !  [n variable is the same as result variable ][1]

n的地址与值

result的地址与值


Rezult in the picture is the result variable in the program. I changed it when editing the answer. I found the problem when writing the factorial in this program!

Recure2 () is a function in which you have written the variable result wrong. oh = =, why is there a rezult below? . Moreover, I directly compile and print the addresses of result and n, which are different. . .