#include <stdio.h>
#include <stdlib.h>
void main()
{int i;
randomize();
for(i=1;i<=20;i++)
printf("%d ",random(89)+10);
}
为什么会出现这个错误
“提供给函数random的实参太多”?
我是用Geany编的。
希望大家不吝赐教。谢谢。

代码: 全选
int main()
{int i;
randomize();
for(i=1;i<=20;i++)
printf("%d ",random(89)+10);
return 0;
}
代码: 全选
RANDOM(3) Linux Programmer's Manual RANDOM(3)
NAME
random, srandom, initstate, setstate - random number generator
SYNOPSIS
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
char *initstate(unsigned int seed, char *state, size_t n);
char *setstate(char *state);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
random(), srandom(), initstate(), setstate(): _SVID_SOURCE ||
_BSD_SOURCE || _XOPEN_SOURCE >= 500
这样的话,在Geany下,编译可以成功,可以生成目标文件,但在点“生成”时却跳出懒蜗牛Gentoo 写了:int main()
{int i;
randomize();
for(i=1;i<=20;i++)
printf("%d ",random()+10);
return 0;
}
这样也提示太多??
何为“没有链接正确的库文件”?我的C学得不太好......哈.....懒蜗牛Gentoo 写了:哦,不对,那只是警告,应该是你编译的时候没有链接正确的库文件
#include <stdlib.h>懒蜗牛Gentoo 写了:int main()
{int i;
randomize();
for(i=1;i<=20;i++)
printf("%d ",random()+10);
return 0;
}
这样也提示太多??
三楼这么大个 RTFM 都不会看?YZMSQ 写了:linux 下的C 语言中的random函数究竟该如何使用?我现在搞不清楚了。
书本上虽说C\C++跨平台,可跨平台,并不是说搬过来就能用。YZMSQ 写了:不是这个意思,只是下面这段代码(也就是一楼的那个),是我从我们的C语言教程(《C语言程序设计》罗朝盛主编)上抄到这儿的,在wintc上可以通过,用gcc就不能通过了......
#include <stdio.h>
#include <stdlib.h>
void main()
{int i;
randomize();
for(i=1;i<=20;i++)
printf("%d ",random(89)+10);
}