c语言:为什么rand随机数每次都一样?比如第一个是9,后面全是9。

/*

输入组数:输入q停止。

5 9

有多少面和多少骰子:3

这里有5组3个9边投。

25 ?18 ?14 ?13 ?17

多少套?输入q停止。

q

按任意键继续

*/

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

#包含?& lttime.h & gt

int?diceroll(int?num,int?侧);?//返回骰子产生的数字的总和。

int?main(void)?{

int?套、方、骰子;?//sets是圈数,侧面,骰子:骰子的个数。

int?我;?//变量初始化

srand((无符号)时间(空));?//?随机数种子应该在main()上初始化

printf("Enter?那个?号码?的?布景:?进入?q?去哪?停下来。\ n ");?//设置?组

while(scanf("%d ",& amp套)?==?1?& amp& amp?布景?& gt?0)?{

printf("如何?很多?两边?然后呢。怎么会?很多?骰子:“);

if(scanf("%d%d ",& amp一边,一边。骰子)?==?2)?{

printf("这里?是吗?%d?布景?的?%d?%d面?投掷。\n”、套、骰子、面);

对于(我?=?0;我?& lt?集合;i++)?//?0-设置回合

printf("%d?",diceroll(边,骰子));//打印出返回值

printf(" \ n ");

printf("如何?很多?布景?进入?q?去哪?停下来。?\ n ");?

}

不然呢?printf("输入?一边,然后呢?骰子?:\ n ");

}

回归?0;

}

int?diceroll(int?side,int?骰子)?{

int?我,sum

对于(我?=?0,求和?=?0;我?& lt?骰子;i++)

sum?+=?rand()%side?+?1;?//产生3个骰子?摇出总和。

回归?总和;?//返回三个骰子的总和。

}