有一个问题,请路过的朋友给于指点

#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'
问题出在哪里呢?
原文地址:https://www.cnblogs.com/xinyult/p/1291547.html