无法弄清楚用随机数c ++填充数组的函数

Can't figure out the function for filling array with random numbers c++

所以我正在尝试创建一个函数 randBetween 来生成随机数,然后用这些数字填充数组

当我尝试将语句移入函数时遗漏某些内容的问题

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

void fillArray(int arr[], int size, int min, int max);
int randBetween(int max, int min);
void printArray(int arr[], int size);
const int size = 10;

int main()
{
    int arr[size];
    
    int min = -100;
    int max = 100;
    srand(time(NULL));
    
    fillArray(arr, size, min, max);
    printArray(arr, size);
    
}

int randBetween(int max, int min)
{
    
    int num = (rand() % (max - min + 1)) + min;
    return num;
}

void fillArray(int arr[], int size, int min, int max)
{
    
    for (int i = 0; i < size; i++)
    {
        
        int num = 0;
        
        randBetween(min, max);
        //num = ( rand () % (max - min + 1)) + min;
        
        arr[i] = num;
        
    }
}

void printArray(int arr[], int size)
{
    for (int count = 0; count < size; count++)
    {
        cout << arr[count] << "\n";
    }
}

如果我不注释掉 //num = ( rand () % (max - min + 1)) + min;它在没有功能的情况下完美运行 但是我必须在函数中使用它,我不知道我做错了什么; 我尝试更改参数、更改位置但没有任何帮助

num = ( rand () % (max - min + 1)) + min; 替换为 randBetween(min, max); 缺少一些重要的东西:您没有在第二种情况下设置 num 变量。尽管您确实在 randBetween 函数中设置了 num ,但这实际上不是同一个变量;它是在 randBetween 内部定义的,因此在它外部无法访问,并且不会影响 fillArray 内部的 num。您可以通过使用此行设置外部 num 来解决此问题:

num = randBetween(min, max);

而不仅仅是 randBetween(min, max);.