srand作用是设置随机数的“种子”,调用rand函数提供一个伪随机数列。
srand((unsigned)(NULL)) 其实就是 srand(0),用unsigned只是为了防止编译时的警告,对程序或神悄运行没瞎此有任何影响。
相同的种子,会得到完全相同的随机数列,即这个程序无论执行多少次,其number都是一个固定值。
rand函数的返回值类型是int,是有符号的。如果你想要无符号数,需要写成
unsigned int number = (unsigned)rand()
一般程序都使用当前系统衫渣时间作为随机数种子,既有代码:
#include<time.h> // time函数的头文件...
srand(time(NULL))
...
int n = rand()
unsigned 是C语言的关键字,表示无符号数。unsigned 可以与各种整数类型连用。包括char, int, long等。前握
当unsigned独立使用时,默认为unsigned int。
当没有unsigned时,默认为signed类型,即有符号数,这时存储的最高位是符号埋哪位。而加上unsigned后,表示无符号类型,所有数位均用来存储值。
相对于有符号数,无符号数无法表示负弯悔码数,但可以存储更大范围的正数。
C语言中,输出unsigned类型的格式字符为%u。
肯定不一样的,char 的最大值是127,你个他的值是200,超出范围,链旦孝所以相当于是73,但是unsigned char 最大值是255,所以200才可棚稿以迟腊正常存储 明白?欢迎分享,转载请注明来源:内存溢出
评论列表(0条)