Chinaunix
标题:
rand()函数怎么会得到这样的结果?
[打印本页]
作者:
net_xiaobao
时间:
2005-10-31 16:06
标题:
rand()函数怎么会得到这样的结果?
大家看看这个程序,我在调用rand()函数得到一个随机数,但有个问题,
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,j;
printf("please enter interger:");
scanf("%d",&j);
for(i=0;i<=j;++i)
{
if(i%6==0)
printf("n");
printf("%12d",rand());
}
printf("n");
return (0);
}
得到这样一个结果:
please enter interger:11
1804289383 846930886 1681692777 1714636915 1957747793 424238335
719885386 1649760492 596516649 1189641421 1025202362 1350490027
但用printf("%12d",rand());应该得到一个int型的,数字不应该这么大啊,不知道为什么
作者:
Yarco
时间:
2005-10-31 16:26
提示:
作者被禁止或删除 内容自动屏蔽
作者:
redog
时间:
2005-10-31 16:29
linux 下的int类型现在都是4字节了 :)
作者:
snow888
时间:
2005-10-31 16:41
与机器和编译器有关.
比较一下 short,int,long 看看
作者:
POLOGG
时间:
2005-10-31 17:05
现在的int都是4个字节了!
作者:
sickcat2004
时间:
2005-10-31 17:11
int 和long 在32bit 下都是 4byte
没有经过论证
作者:
net_xiaobao
时间:
2005-10-31 17:18
明白了,那以前的int 是2个字节吗?这与编译器有关吗?我用的是gcc3.2
作者:
中国管理员
时间:
2005-10-31 19:08
提示:
作者被禁止或删除 内容自动屏蔽
作者:
diogin
时间:
2005-10-31 21:53
int main(void)
{
printf("%d %d %d", sizeof(short), sizeof(int), sizeof(long);
return 0;
}
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2