Люди, я думаю, я выброшу все свои скромные знания. Посмотрите на этот код:
int main(int argc, char** argv, char** envp)
{
int aa;
srand(time(NULL));
int Num = rand()%20;
int Vetor[Num];
for (aa = 0; aa < Num; aa++)
{
Vetor[aa] = rand()%40;
printf("Vetor [%d] = %d\n", aa, Vetor[aa]);
}
}
Я думаю, что это должно привести к ошибке по двум причинам: во-первых, я объявляю Num и Vetor после выполнения команды (srand), во-вторых, потому что я объявляю Vetor на основе Num, это не должно быть возможным, верно? потому что размеры этих массивов должны определяться не во время выполнения, а во время компиляции, верно?
Я действительно удивлен, что его работы, и если вы, ребята, могли бы объяснить, почему я могу использовать такие вещи, были бы великолепны.
Используется GCC.