2017-02-15 3 views
-1

Я пытаюсь напечатать отскок натуральных чисел (от 0 до 10) с помощью srand, но когда я запускаю код, он генерирует числа с 7 цифрами. Как это возможно? Может ли кто-нибудь сказать мне, где я поступаю неправильно?генерация случайных чисел с языком C

enter code here 

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

#define DIMA 10 
#define DIMB 2 

int main() 
{ 
    int A[DIMA], B[DIMB], i, j, flag; 
    srand (time(NULL)); 

    for (i=0; i< DIMA; i++);{ 
     A[i]=rand() % 11; 
    } 

    for (i=0; i< DIMB; i++);{ 
     B[i]=rand() % 11; 
    } 

    for (i=0; i<DIMA; i++){ 
     printf("%d ", A[i]); 
    } 

    printf("\n\n"); 
    for (i=0; i<DIMB; i++){ 
     printf("%d ", B[i]); 
    } 
return 0; 
} 

Спасибо за поддержку.

+6

Не ставьте точки с запятой перед телом. –

+0

На всякий случай другой комментарий недостаточно ясен, у вас есть 'for (i = 0; i

+1

И обратите внимание, что ошибка становится очевидной, если вы отложите объявление переменных до тех пор, пока они вам не понадобятся. Если вы объявляете 'i' в цикле, он не находится в области видимости, когда присутствуют паразитные точки с запятой, и компилятор испускает ошибку. –

ответ

2

Изменить

for (i=0; i< DIMA; i++);{ 

в

for (i=0; i< DIMA; i++) { 

Обратите внимание на дополнительные точки с запятой ; перед тем {, то же самое для второго цикла.

+1

Большое спасибо всем за ваш быстрый ответ и извините, если мой вопрос отключен от тем. – Massimo

Смежные вопросы