作者chrisjon (随机数能吃吗?)
看板C_and_CPP
标题[问题] 请问0是哪里生出来的?
时间Tue May 5 17:01:03 2009
#include <stdio.h>
int64_t fmrg_p = 2147483647;
int64_t fmrg_b = 1047849;
int64_t fmrg_index =101;
int fmrg_k = 102;
int64_t fmrg_seed[102];
int main(void)
{
int i,a;
rand();
printf("%d,%d,%d,%d,%d,%d,%d\n", fmrg_p, fmrg_b, fmrg_index, fmrg_k);
}
=================================================
执行结果
2147483647,0,1047849,0,101,0,102
请问一下,中间的零是从哪里生出来的??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.195.128.31
1F:推 ledia:printf 参数不够, stack 里面无法预期的数值来的 05/05 17:21
2F:→ ledia:对不起, 看错了, 是 int64_t 的前 32 bit ... Orz 05/05 17:21
3F:→ visor:是变数 int64_t 而 printf 用了 %d 去印,size 不 match 05/05 17:21