初学者兰德在c

时间:2013-12-15 23:27:12

标签: arrays random dice

我是一名小学生,当谈到c并需要帮助将5个随机值存储在一个数组中并输出它们。继承人在哪里。

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

struct score_card {int A_ones; int B_twos; int C_threes; int D_fours; int E_fives; int  F_sixes; int G_chance;};
int dice_rolls[5];
int randomize(void);

int value;

int main(void) {
struct score_card test;

randomize;
int i;
    for(i = 0; i <= 4; i++){
    printf("%d\n", dice_rolls[i]);
    }
printf("\n");
return 0;
}


int randomize(void){
int i;
srand(time(0));
for(i = 0; i <= 4; i++){
    value = rand() % 6 + 1;
    dice_rolls[i] = value;
  }
}

输出是: 6294304 6294308 6294312 6294316 6294320

目标是使用模块化除法从1 - > 6获取值并将它们存储在dicerolls数组中。

1 个答案:

答案 0 :(得分:1)

我看到两个直接的问题。

首先。你没有用换行符终止你的随机数。这就是为什么他们都在一个大的序列中串联起来。将输出行更改为:

printf("%d\n", &dice_rolls[i]);

其次,你实际上并没有调用 randomize。调用它的正确方法是:

randomize();

语句randomize;只是一个表达式,为您提供函数的地址。在这种情况下,它与表达式42;一样无用,它也什么都不做。但它是有效的C,因此编译器不一定会抱怨。