为什么运行C++取两数较大值函数时输出随机大数?
问题分析与解决
你的代码输出随机大数的核心原因是:调用larger函数时,n1和n2还未被用户输入赋值。局部变量n1、n2在未初始化状态下,存储的是内存中的随机垃圾值,此时调用larger函数,返回的自然是随机大数,和后续输入的数值毫无关联。
修正后的代码
#include<iostream> using namespace std; int larger(int num1,int num2); int main() { int n1,n2,result; cout<<"enter two number\n"; cin>>n1>>n2; result=larger(n1,n2); // 移到输入完成后调用 cout<<"the larger number is "<<result<<endl; } int larger(int num1,int num2) { int max; if (num1>=num2) max=num1; else max=num2; return max; }
关键修正说明
- 把
result = larger(n1,n2);的位置调整到cin >> n1 >> n2;之后,确保传入larger函数的是用户输入的有效数值,而非未初始化的随机垃圾值。
内容的提问来源于stack exchange,提问作者Mazin Mahmoud
相关产品推荐
相关产品推荐

