LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 647|回复: 8

请大家看看我的脚本,我不知道错在哪里? 请大家看看一个随机函数的程序,不知道错在哪里?

[复制链接]
发表于 2003-10-25 11:24:13 | 显示全部楼层 |阅读模式
要是缺什么或着格式不对,请原谅问这些简单的问题。

#include "stdlib.h"
main()
{ int i,x,k=0;
  randomize();
  for (i=0;i<100;i++)
   {  x=random(1000);
       if (x>=200&&x<250)
         { k++;
           printf("%d ",x);
         }
   }
printf("\ntotal=%d\n",k);
}
发表于 2003-10-25 11:46:14 | 显示全部楼层

  1. #include <stdlib.h>

  2. int
  3. main()
  4. {
  5.   int i,x,k=0;

  6.   srandom(time(NULL)); /* 应该是srandom */
  7.   for (i=0;i<100;i++){
  8.     x=random() % 1000; /* #define RAND_MAX  2147483647 */
  9.                        /* 这个落在200~250的可能性很小,所以 % 1000 */
  10.     if (x>=200&&x<250){
  11.       k++;
  12.       printf("%d ",x);
  13.     }
  14.   }
  15.   printf("\ntotal=%d\n",k);
  16.   exit(0);
  17. }
复制代码

另外有几个地方没改,用 man random 看一下就比较清楚,比如random返回的是 long int
 楼主| 发表于 2003-10-26 20:07:59 | 显示全部楼层
谢谢,这程序是从教科书抄的,我的gcc版本是gcc (GCC) 3.2 20020903

不知道为什么会这样。
发表于 2003-10-26 22:03:26 | 显示全部楼层
你看的什么书呀,好像净是dos的内容
 楼主| 发表于 2003-10-26 22:33:37 | 显示全部楼层
最初由 libinary 发表
你看的什么书呀,好像净是dos的内容



《高级语言程序设计》--全国高等教育自学考试指导委员会组编。
经济科学出版社 ,ISBN 7-5058-2016-I/G.428  定价: 20.40元。
书的平台是用DOS的。
发表于 2003-10-26 22:42:03 | 显示全部楼层
哦,最好找一本讲标准C的书看看
 楼主| 发表于 2003-10-26 23:14:05 | 显示全部楼层
嗯,看来是编译器不同导致的。
谢谢版主,那有什么书是用gcc做例子的?
发表于 2003-10-27 09:20:06 | 显示全部楼层
潭浩强的是标准c的,推荐一本《linux 程序设计》 机械工业出版社,Neil Matthew Richard Stones 著 杨晓云 王建桥等译
78。00元,很不错适合初学者,我真在用
 楼主| 发表于 2003-10-27 11:33:05 | 显示全部楼层
谢谢大家的帮助,以为没什么好的书了.谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表