随机数生成器代码问题

时间:2016-09-17 12:31:31

标签: c random

我在Windows上使用Dev C ++ GCC编译器。我将此代码用于我的随机数生成器,它打印10个由0和1组成的随机数

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

int main()
{
    int i,n;
    int arr[50];
    //int z=0,o=0;
    //time_t t;

    printf("Enter the no of binary random nos you want");
    scanf("%d",&n);


    //initializes the random number generator
    srand(time(NULL));

    //print the random numbers
    printf("The random numbers are: ");

    for(i=0;i<n;i++);
    {
         arr[i]=rand()%2;
         printf("%d",arr[i]);

    }

    return (0);
}

但是,它一次只打印一个随机数而不是10个。任何帮助指出我的错误都将受到赞赏

2 个答案:

答案 0 :(得分:1)

此行中有额外的mv

echo

因此,您认为循环体是在循环外执行的

始终在启用警告的情况下编译,许多编译器会警告您了解它。

答案 1 :(得分:0)

您的代码中存在一个问题

ACTION_DOWN

在结尾删除ACTION_DOWN

使用for(i=0;i<n;i++);

如果您使用;,它将从0循环到n并终止于for(i=0;i<n;i++) 之后它将执行下面的行并打印1个随机数。

使用下面的for(i=0;i<n;i++);代码不会是;循环的一部分。