我正在尝试打印10 x 4随机整数表。我编译代码并没有得到任何错误,但编译后的代码打印完整的零表。任何人都可以帮忙找出原因吗?
int main(void)
{
int row = 0, column = 0 ;
while (column < 11)
{
row = 1;
while (row < 5)
{
printf ("%lf", random());
row = row + 1;
}
column = column + 1;
}
}
答案 0 :(得分:3)
我假设您使用的是POSIX
random
函数:
long int random(void);
^^^^^^^^
在C中,函数printf
不是类型安全的。因此random
返回的长整数将被double
解释为printf
,这不太可能产生任何有意义的东西。您可能需要打印%ld
。
当你在场的时候,你可能还想打电话给srandom
,或者总是会使用1的种子。