srand((unsignedint)time(NULL));
请问:time(NULL)表示什么?
time_ttime(time_t*timer)的原型是:time_ttime(time_t*timer),为什么写成time(NULL)呢?传个NULL进去,说明不需要输出参数,如果你传个整数地址,输出和返回应该是一样的(没记错的话),具体查msdn等文档应该是返回当前时间吧。
这样可以保证每次运行种子不一样,所以结果不一样的time(NULL);就是返回从1970年元旦午夜0点到现在的秒数。
time的返回值和其参数都能用来接收这个数值,效果是一样的。就是这么设计的,这样一个函数就能有两种返回途径,一个是传入指针修改某个地址的值,一个就是直接返回一个整数。timer
Pointertoanobjectoftypetime_t,wherethetimevalueisstored.
Alternativelly,thisparametercanbeanullpointer,inwhichcasetheparameterisnotused,butatime_tobjectisstillreturnedbythefunction.返回当前时间严重mark!!!!!!!!函数原型类似这样:
#include
intfun(int*a)
{
if(a==NULL)
return300;
return*a=300;
}
intmain(void)
{
inta=30;
printf("%d%dn",a,fun(&a));
return0;
}
楼主可以了解一下Value-Result参数。time_ttime(time_t*timer),time_t是宏,你再右键它的定义就成,或者MSDN也可以;time()函数是读秒的