#include "stdio.h"
#include "stdafx.h"
#include <stdlib.h>
#define num 100
int d_a(int a[]);
int c_a(int * a);
int main(int argc, char* argv[])
{
int a[num];
d_a(a);
c_a(a);
return 0;
}
int d_a(int a[])
{
int c;
for(c=0;c<num;c++)
{
a[c]=rand()%100;
}
return (0);
}
int c_a(int * a)
{
int c;
for(c=0;c<num;c++)
{
printf("%d\n",a[num]);
}
return(0);
}
--------------------Configuration: xxx - Win32 Debug--------------------
Compiling...
xxx.cpp
D:\学习\手打程序\xxx\xxx.cpp(30) : error C2065: 'printf' : undeclared identifier
执行 cl.exe 时出错.
xxx.exe - 1 error(s), 0 warning(s)
这是你的代码运行的结果 ,没报错。我在VC++6.0上运行的。
追问为什么它没有随机?
追答#include "stdafx.h" //我在VC6.0 下,不要这个头文件就可以运行,如果这代码还运行不了,你把这个头文件注释一下
#include "stdio.h"
#include <time.h>
#include <stdlib.h>
#define num 100
int d_a(int a[]);
int c_a(int * a);
int main(int argc, char* argv[])
{
int a[num];
d_a(a);
c_a(a);
return 0;
}
int d_a(int a[])
{
int c;
srand(time(NULL)); //随机种子
for(c=0;c<num;c++)
{
a[c]=rand()%100;
}
return (0);
}
int c_a(int * a)
{
int c;
for(c=0;c<num;c++)
{
printf("%d\n",a[c]); //问题
}
return(0);
}这个的随机结果
缺了srand(time(NULL))函数,srand函数是随机数发生器的初始化函数。srand()的功能就是就是设置产生随机数的公式的参数。srand(time(NULL))使得随机数种子随时间的变化而变化
我在我原来的程序上只把随机种子那里改了
为什么会显示这样的结果
左边是复制粘贴你的,右边是我在原来的基础上做了修改的结果。
printf("%d\n",a[c]); //问题
你仔细看我的注释啊。。。还要我一个一个全部说出来嘛