有一个问题,请路过的朋友给于指点
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define N 10
static unsigned long k=-1; /*k为静态无符号整型全局变量*/
void unsigned startnum(unsigned int seed)
{
k = seed;
}
unsigned randnum(long n) /*n为形参*/
{
k =((k*159+23)%n)+1;
return k;
}
main()
{
register unsigned int i;
long n=0;
while(!(n>0 && (k<=65536)))
{
printf("\n Input the seed and the max random[1-65535]:\n");
scanf("%ld%ld",&k,&n);
if (n<=0)
printf("\n Wrong seed!");
if (k<=0||k>65536)
printf("\n Wrong max radom!");
}
startnum(n);
for(i=0;i<N;i++)
printf("%6u",randnum(n));
return;
}
编译提示我practice2.c:7: long, short, signed or unsigned invalid for `startnum'
问题出在哪里呢?
#include <stdlib.h>
#include <stdint.h>
#define N 10
static unsigned long k=-1; /*k为静态无符号整型全局变量*/
void unsigned startnum(unsigned int seed)
{
k = seed;
}
unsigned randnum(long n) /*n为形参*/
{
k =((k*159+23)%n)+1;
return k;
}
main()
{
register unsigned int i;
long n=0;
while(!(n>0 && (k<=65536)))
{
printf("\n Input the seed and the max random[1-65535]:\n");
scanf("%ld%ld",&k,&n);
if (n<=0)
printf("\n Wrong seed!");
if (k<=0||k>65536)
printf("\n Wrong max radom!");
}
startnum(n);
for(i=0;i<N;i++)
printf("%6u",randnum(n));
return;
}
编译提示我practice2.c:7: long, short, signed or unsigned invalid for `startnum'
问题出在哪里呢?