这段代码如何生成100个随机数

时间:2015-08-26 05:38:27

标签: c random

  

这也适用于(a = 0; a <100; a ++)??为什么会有人   写代码如下面的代码?我想我知道如何阅读这段代码。   是否需要循环a * b?还有什么其他方法可以写这个   码?我没有在这个网站上看到任何类似的代码,所以我想我   会为它创造一个问题。如果可以,请帮助我,我也是   这个网站的新用户。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int r,a,b;

    printf("100 Random Numbers: ");

    for (a=0; a<20; a++) {
        for (b=0; b<5; b++) {
            r=rand();
            printf("%d\t", r);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

  

为什么有人会编写类似下面代码的代码?

例如,澄清他不会生成100个随机数,而是生成20个5个随机数。

例如:

/* Allocate strings */
ptr = malloc(392);
ptr = malloc(8 * 48 + 8 * 1);

两者都是相同的,但是,读者将在第二种情况下看到他为8个字符串分配内存,48个字节和8个字符串终止。

当然,他本可以写a < 20 * 5并取得同样的成绩。

第二种可能性是代码错误。但是for陈述并不是凭空出现的。所以错误可能不是他无法想象只使用一个for循环,但可能他打算写一些类似的东西:

   for (a=0; a<20; a++) {
        for (b=0; b<5; b++) {
            r=rand();
            printf("%d\t", r);
        }
        printf("\n");
    }