如何在 mikroC 中实现 rand() C++ 函数?
我尝试了 rand() 但不起作用......我不知道如何解决这个问题
如果你的 C 实现符合 C89,它应该包括一个工作rand()
——也许你忘了包括<stdlib.h>
?
rand
如果没有,只要您不需要非常高质量的生成数字,那么编写自己的数字就很简单,对于俄罗斯方块的目的,您不应该这样做。这个微小的实现被 POSIX 推广为需要跨架构重复相同的伪随机数序列的程序的一个选项:
static unsigned long next = 1;
/* RAND_MAX assumed to be 32767 */
int myrand(void) {
next = next * 1103515245 + 12345;
return((unsigned)(next/65536) % 32768);
}
void mysrand(unsigned seed) {
next = seed;
}
它不会给你很大的伪随机性,但它也不会比许多现实生活中的实现更糟糕rand()
。