为struct成员生成随机数

时间:2017-07-22 16:53:31

标签: c random struct

我想让用户定义他们希望存储在我的struct成员中的随机数的数量。 这是我到目前为止所拥有的。

struct BigInt {
int A;
int rdm;
};
struct BigInt A[300];
struct BigInt rdm[10]={0,1,2,3,4,5,6,7,8,9};

printf("Number");
int len;
scanf("%i",&len);

srand(time(NULL));
int i=0;

while (i!=len){
int r=rand()%10;
A[i]=rdm[r];

printf("\nr:%i\n",r);
printf("A[i]:%i",A[i]);
i++;
}

但我得到了奇怪的价值观,而且它没有像我预期的那样发挥作用。我不知道为什么,我做错了什么?

1 个答案:

答案 0 :(得分:0)

以下代码段根据您的评论解决您的问题。您可能还没有完全理解如何使用结构。请注意,要使用结构的成员,您必须使用。符号

struct BigInt {
    int *A;
};

struct BigInt bigIntVar = {
    NULL
};

printf("Number");
int len;
scanf("%i", &len);

bigIntVar.A = (int*)malloc(len * sizeof(int));

srand(time(NULL));
int i = 0;

while (i != len) {
    int r = rand() % 10;
    bigIntVar.A[i] = r + 1;

    printf("\nr:%i\n", r);
    printf("A[i]:%d", bigIntVar.A[i]);
    i++;
}