C 这是向数组添加元素的正确方法吗?

C 这是向数组添加元素的正确方法吗?,c,for-loop,random,C,For Loop,Random,我有一个数组 int Game[100]; 我想在这个数组中创建一个由两个数字组成的随机序列。0和1 int i; int Game[]; for(i = 100; i >= pos; i--) { // Random number ( 0 or 1 ) int v = (int)rand() / (int)RAND_MAX; Game[i] = Game[i-1]; Game[i] = v; } 这是正确的方法吗?如果要用连续的

我有一个数组

int Game[100];
我想在这个数组中创建一个由两个数字组成的随机序列。0和1

int i;
int Game[];
for(i = 100; i >= pos; i--) {
       // Random number ( 0 or 1 )
       int v = (int)rand() / (int)RAND_MAX;
       Game[i] = Game[i-1];
       Game[i] = v;
}

这是正确的方法吗?

如果要用连续的随机0和1值填充游戏数组,可以执行以下操作:

#include <stdio.h>
#include <stdlib.h>
#include <time.h> /* include this if you want to create new sequences at each run */

int main()
{
    
    int Game[100];

    /* create a new seed based on current time to have different sequences at each run */  
    srand( (unsigned int)time( NULL );

    int i;
    for(i = 0; i < sizeof(Game)/sizeof(Game[0]);i++) {
       
       // Random number ( 0 or 1 )
       Game[i] = rand() % 2;
    }

    for(i = 0; i < sizeof(Game)/sizeof(Game[0]);i++) {
        printf ("%d\n",Game[i]);
    }
}

如果要用连续的随机0和1值填充游戏数组,可以执行以下操作:

#include <stdio.h>
#include <stdlib.h>
#include <time.h> /* include this if you want to create new sequences at each run */

int main()
{
    
    int Game[100];

    /* create a new seed based on current time to have different sequences at each run */  
    srand( (unsigned int)time( NULL );

    int i;
    for(i = 0; i < sizeof(Game)/sizeof(Game[0]);i++) {
       
       // Random number ( 0 or 1 )
       Game[i] = rand() % 2;
    }

    for(i = 0; i < sizeof(Game)/sizeof(Game[0]);i++) {
        printf ("%d\n",Game[i]);
    }
}

如果游戏大小为100。i==100的Game[i]循环的第一次迭代将退出数组。为什么Game[i]=Game[i-1]?您最终将覆盖下一行中的游戏[i]。另外,我应该从99开始,因为Game[100]并不是指有效的位置pos value是什么?int Game[]?关于:int v=内部/内部最大值;这不太可能产生你想要的东西。建议:int v=rand%2;因为每次执行此语句都将导致1或0。如果游戏大小为100。i==100的Game[i]循环的第一次迭代将退出数组。为什么Game[i]=Game[i-1]?您最终将覆盖下一行中的游戏[i]。另外,我应该从99开始,因为Game[100]并不是指有效的位置pos value是什么?int Game[]?关于:int v=内部/内部最大值;这不太可能产生你想要的东西。建议:int v=rand%2;由于此语句的每次执行都会产生1或0。请记住,需要设置唯一的“种子”值,否则每次执行都会产生相同的值。建议插入主插入中的include和early:srand unsigned inttime NULL;记住需要设置一个唯一的“种子”值,否则每次执行都会产生相同的值。建议插入主插入中的include和early:srand unsigned inttime NULL;