这里是不起作用的代码:随机数生成使用srand()函数定义一个变量
Enemy.strength = srand((unsigned)time(NULL)) % 10;
Enemy.strength是一个int
我做了一些研究,我发现,你可以”牛逼直接定义一个变量兰特/函数srand 如:
a = rand();
我只是想知道为什么,如果有解决这个或者你认为
有什么其他办法语言:C ...不是C++
这里是不起作用的代码:随机数生成使用srand()函数定义一个变量
Enemy.strength = srand((unsigned)time(NULL)) % 10;
Enemy.strength是一个int
我做了一些研究,我发现,你可以”牛逼直接定义一个变量兰特/函数srand 如:
a = rand();
我只是想知道为什么,如果有解决这个或者你认为
有什么其他办法语言:C ...不是C++
srand(seed)
返回void。它用于播种随机数发生器。 rand()
返回0和RAND_MAX(在stdlib.h中定义)之间的伪随机整数。
因此要得到你的敌人随机实力,你应该这样做:
Enemy.strength = rand() % 10; // gives a strength between 0 and 9
你可以一个电话到srand
在你的代码的某个地方,但只需要调用一次。它应该在任何对rand()的调用之前调用。
感谢您使用逗号运算符提供的帮助 – Bevilacqua
srand()接受种子作为其第一个参数。在分配Enemy.strength之前,只需将该调用放在srand()上,并将rand()的返回值赋值给它。
srand((unsigned)time(NULL)), Enemy.strength = rand() % 10;
?做什么的? –
也许[IOCCC](http://www.ioccc.org)? – Lundin
没有什么特别的理由,除了在rand()之前写入srand()的位置的快速而草率的例子之外,我当然不会试图通过它来赢得任何比赛。 –
你搜索'srand'下面的链接?有很多关于如何使用它的例子,以及它如何与'rand'不同。在张贴这里之前,请展示一些努力。 –