请C语言大神赐教,,这个错在哪里?怎么改?

请C语言大神赐教,,这个错在哪里?怎么改?
#include "stdio.h"
#include "stdlib.h"
main()
{
int roll[7]={0},i,m;
for (i=0;i<6000;i++)
{m=(int)(1+rand(6));
roll[m]++;
}
for (i=1;i<6;i++) printf("roll[%d]=%5d",i,roll[i]);
}
--------------------Configuration: 三等功 - Win32 Debug--------------------
Compiling...
的vsdf.cpp
d:\program files\microsoft visual studio\myprojects\三等功\的vsdf.cpp(7) : error C2660: 'rand' : function does not take 1 parameters
d:\program files\microsoft visual studio\myprojects\三等功\的vsdf.cpp(11) : warning C4508: 'main' : function should return a value; 'void' return type assumed
执行 cl.exe 时出错.

三等功.exe - 1 error(s), 0 warning(s)
看来你不会用rand函数,这个函数在使用前必须设置一下随机种子,设好了随机种子洞伍即可以直纳州或接调用rand()函数,这个函数没有参数
#include
int rand(void)
这是函数的定义
将你的代码完善:
#include "stdio.h"
#include "stdlib.h"
#include
int main()
{
int roll[7]={0},i,m;

/*
添加随机种子 ,不让得到的值都迹前是一样的。
*/
srand(time(0));
for (i=0;i<6000;i++)
{m=(int)(1+rand());
roll[m]++;
}
for (i=1;i<6;i++) printf("roll[%d]=%5d",i,roll[i]);
return 0;
}
第一个错(严格意义上是警告,但是作为完美主义者,我认为错),C语言允许函数不加返回值,语言定义默认返回一个int型的值。但是VS默认假定返回void。
第二个错,rand函数原型为int rand(void);你提供了6作为参虚桥昌数,所以错误。我猜测你应该是调用的设置随即数差扒种子函数void srand(unsigned seed);这个函数数接受一个参数。在消困调用这个函数后调用rand函数,函数返回一个seed到0x7fff为之间的一个随机数。
rand 函数是没茄郑有参数颤漏颂的 。搜升。。

main函数要返回一个值给操作系统。。。。
1、 rand(6) 去掉参数
2、 main() 前面加上 void
随即程序!
调用一下就会产生结果的!
根据结果来修改一下就可以了!
← 上一篇: 下一篇: →