摘要: 《C语言参考手册》中关于rand()函数有如下描述。(1)rand()函数的原型intrand(void);(2)连续调用 rand 将返回 0 到 int 类型的最大可表示的正值(含该值)之间的整数值,它们是一个伪随机数生成器所产生的连续结果。在标准 C 中,rand 的上界是上 RAND_MAX 所指定的,这个值至少是 32 767。问题:rand 返回的值包括 0 吗?一直以来都有这个疑问,也做了一些简单的实验,结果是不包括 0,但毕竟没有找到文字说不包括 0,所以一直不能肯定。虽然从 (2) 的描述来看,应该是不包括 0 的。所以还是决定向大家咨询一下,rand 返回的值域到底是 (0 阅读全文
posted @ 2013-09-17 23:05 businessman 阅读(945) 评论(6) 推荐(0) 编辑
摘要: 《C语言参考手册》中关于free()函数有如下描述。(1)free()函数的原型voidfree(void*ptr);(2)free函数对以前由malloc、calloc、或realloc所分配的一块内存区域进行销毁。free函数的参数必须是与某个内存分配函数的返回值相同的指针。如果它的参数是个null指针,则调用这个函数不会产生任何效果。既然“如果它的参数是个null指针,则调用这个函数不会产生任何效果。”那么为什么一般写成if(ptr!=NULL)free(ptr),而不是直接free(ptr)呢?应该不仅是一个书面方面的良好编程风格吧?! 阅读全文
posted @ 2013-09-16 02:17 businessman 阅读(229) 评论(5) 推荐(0) 编辑