You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在main()外定义RandomNumber函数并在main()内正确调用?

如何在main()外部定义随机数函数并正确调用?

你当前代码出现乱码的核心原因是调用函数时没有传递参数,直接输出了函数的内存地址,而非函数返回的随机数。以下是修正方案:

关键修正点

  • 调用RandomNumber时必须传入userNum1和userNum2这两个参数,不能直接写函数名;
  • 随机种子srand(time(NULL))只需要在main中初始化一次,不要在RandomNumber函数内重复调用,否则会破坏随机数的随机性;
  • 额外建议:增加范围合法性判断,避免用户输入的第二个数小于等于第一个数时出现取模异常。

修正后的完整代码

#include <iostream>
#include <ctime>
using namespace std;

// 外部定义的随机数生成函数
int RandomNumber(int userNum1, int userNum2) {
    // 处理输入范围不合法的情况
    if (userNum2 <= userNum1) {
        swap(userNum1, userNum2);
    }
    return rand() % (userNum2 - userNum1) + userNum1;
}

int main()
{   
    srand(time(NULL)); // 仅初始化一次随机种子
    int userNum1, userNum2;
    cin >> userNum1 >> userNum2;

    // 正确调用函数并输出结果
    cout << RandomNumber(userNum1, userNum2) << endl;

    return 0;
}

内容的提问来源于stack exchange,提问作者ajsmith5150

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:35:11