10 x 4无法打印的随机整数表,打印零

时间:2014-01-25 22:03:38

标签: c

我正在尝试打印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;
     }

}

1 个答案:

答案 0 :(得分:3)

我假设您使用的是POSIX random函数:

long int random(void);
^^^^^^^^

在C中,函数printf不是类型安全的。因此random返回的长整数将被double解释为printf,这不太可能产生任何有意义的东西。您可能需要打印%ld

当你在场的时候,你可能还想打电话给srandom,或者总是会使用1的种子。