c语言问题求助 50
代码如下:#include<stdio.h>staticunsignedlongintnext=1;intrand0(void){next=next*1103515245...
代码如下:
#include <stdio.h>
static unsigned long int next =1;
int rand0(void)
{
next=next*1103515245+12345;
return (unsigned int)(next/65536)%32768;
}
int main(void)
{
int count;
for(count=0;count<5;count++)
printf("%hd\n",rand0());
return 0;
}
运行结果是
16838
5758
10113
17515
31051
我不太理解这些结果是怎么得来的?
next=next*1103515245+12345;
return (unsigned int)(next/65536)%32768;
这一句也理解不了,求大佬解疑答惑。 展开
#include <stdio.h>
static unsigned long int next =1;
int rand0(void)
{
next=next*1103515245+12345;
return (unsigned int)(next/65536)%32768;
}
int main(void)
{
int count;
for(count=0;count<5;count++)
printf("%hd\n",rand0());
return 0;
}
运行结果是
16838
5758
10113
17515
31051
我不太理解这些结果是怎么得来的?
next=next*1103515245+12345;
return (unsigned int)(next/65536)%32768;
这一句也理解不了,求大佬解疑答惑。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询