在VC6.0中不能过编译

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:36:00
#include<stdio.h>
#define N 10
static unsigned long k=-1;
void unsigned startnum(unsigned int seed)
{
k=seed;
}
unsigned random(long n)
{
k=((k*159+23)%n)+1;
return k;
}
void main()
{
register unsigned int i;
long n=0;
while(!(n>0&&(k>0&&k<65536)))
{
printf("please input two number between 1 and 65535:\n");
scanf("%ld%ld",&k,&n);
if(n<=0)
printf("\nwrong seed!");
if(k<=0||k>65535)
printf("\n wrong max random!");
}
startnum(n);
for(i=0;i<N;i++)
printf("%6u",random(n));
getch();
return;
}

startnum和random函数的返回类型没定义啊,unsigned并不是一个数据类型,它是指无符号类型,startnum函数没有返回值,可以改成
void startnum(unsigned int seed);
random就改成
unsigned random(long n);
还有,在VC6.0里getch();改成getchar();吧。