Arrays c语言初学者

Arrays c语言初学者,arrays,random,dice,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];

说到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;
  }
}
#包括
#包括
#包括
结构计分卡{inta_-one;intb_-two;intc_-three;intd_-four;inte_-five;intf_-ses;intg_-chance;};
智力骰子掷骰[5];
int随机化(void);
int值;
内部主(空){
结构评分卡测试;
随机化;
int i;

对于(i=0;i我看到两个直接的问题

首先,你没有用换行符来结束随机数。这就是为什么它们都以一个大序列串在一起。将输出行更改为:

printf("%d\n", &dice_rolls[i]);
其次,您实际上并没有调用“随机化”
。正确的调用方法是:

randomize();

语句
randomize;
只是一个表达式,它给出了函数的地址。在这种情况下,它与表达式
42;
一样无用,后者也不起任何作用。但是它是有效的C,因此编译器不必抱怨。

您忘了问问题。这不是您期望的输出吗?
randomize;-->
randomize();
改进代码格式不会有什么坏处。
printf(“%d”)和dice_rolls[i])
-->
printf(“%d”,dice_rolls[i]);
int dice_rolls[4];
-->
int dice_rolls[5]
谢谢!是的\n确实给了我一个runon输出。至于随机化我的错误,我正在处理putty,这有时会使我很难发现语法错误。我的输出当前是6294304 6294308 6294312 6294316 6294320。似乎模块化除法在给我小于6的值时不起作用。@Fuadk1您正在打印
&掷骰子[i]
,掷骰子[i]
的地址(这是
&
的作用),而不是值。