搜索
查看: 1081|回复: 16
打印 上一主题 下一主题

这随机函数对x有用却对y不起作用

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-13 20:57:10 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 福华 于 2015-7-13 20:57 编辑

代码如下:
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        long long x,y;
    srand((unsigned)time(NULL));
    x=rand();
    srand((unsigned)time(NULL));
    y=rand();
    printf("x=%d y=%d\n",x,y);
        system("pause");
        return 0;
}
[/mw_shl_code]
(顺便反映一下,啊哈论坛的一些功能如图片,贴代码,UC浏览器不兼容,IE可以正常使用)
x的值是随机的,但y一直等于0,好奇怪的

咦.PNG (6.6 KB, 下载次数: 11)

咦.PNG

咦2.PNG (6.59 KB, 下载次数: 9)

咦2.PNG
沙发
 楼主| 发表于 2015-7-14 22:17:05 | 显示全部楼层
rosynirvana 发表于 2015-7-14 19:47
跑两次算啥,至少放循环里面跑20次吧
另外%d是int的占位符,用来输出long long是不合适的

我把long long 改掉,用int,并且只srand((unsigned)time(NULL))一次,就对了
板凳
 楼主| 发表于 2015-7-15 19:53:16 | 显示全部楼层
rosynirvana 发表于 2015-7-15 00:52
想了一下大概还真是long long的问题
2个%d占位符会把2个int的数据传过去,后面一个long long是两个int长
...

什么叫做70年代的库,你是说啊哈C的核心是70年代的吗?
地板
 楼主| 发表于 2015-7-15 22:41:30 | 显示全部楼层
rosynirvana 发表于 2015-7-15 20:42
stdio是70年代的库,差不多60年代末70年代初的设计吧

推荐一个使用现代库的编译器,随着知识的积累,单靠啊哈C编译器肯定不够
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表