c++ - 函数定义里的未初始化的变量==调用该函数实参值?

浏览:24日期:2023-04-28

问题描述

1.函数定义里的未初始化的变量==调用该函数实参值?

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

函数定义里的result值,与实参传给形参的n值一样,很奇怪??我调试中断放在int result;获得的result和n的值和地址!下图![n变量与result变量值一样][1]

c++ - 函数定义里的未初始化的变量==调用该函数实参值?

c++ - 函数定义里的未初始化的变量==调用该函数实参值?

图片的rezult就是程序中result变量,我编辑答案时候改的,我这个程序在写求阶乘的时候发现的问题!

问题解答

回答1:

recure2()这个函数里面,你是不是写错了变量result哦= =,怎么下面有个rezult。。而且我自己直接编译打印result和n的地址,是不一样的啊。。。

相关文章: