只保存C数组的最后一个元素

时间:2016-06-29 22:43:57

标签: c

我对C很陌生,我正在搞砸我们在课堂上做的一些事情。但我遇到了一个问题:

srand(time(NULL));
for (counter = 0; counter < 7; counter = counter + 1);
{
    stats[counter] = abs(rand() % max); 
}

然而,当我去打印这些元素时,只有最后一个元素才有意义,其他一切都是-858993460

printf("Health:                 %d\n", stats[0]);
printf("Armor:                  %d\n", stats[1]);
printf("Damage:                 %d\n", stats[2]);
printf("Critical Strike Shance: %d\n", stats[3]);
printf("Critical Strike Damage: %d\n", stats[4]);
printf("Dexterity:              %d\n", stats[5]);
printf("Strength:               %d\n", stats[6]);
printf("Luck:                   %d\n", stats[7]);

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:9)

在for循环行的末尾有一个分号。

for (counter = 0; counter < 7; counter = counter + 1);
                                                     ^^^^

使得后面的块只执行一次。因为它不在for循环中。