2014-11-24 3 views
-2

Я работаю над упражнением о массивах и умножением значений массивов. Но в нем есть некоторые ошибки, и проблема в том, что я не знаю, что менять. Любая помощь будет высоко оценена с этой проблемой.Программа C умножает значения int массива

Данный код:

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

void main(void) 
{ 
    int i, j ; 
    int Data[15] ; 
    for(i=1;i<=15;i++) 
     Data[i]=i*i ; 
} 

Упражнение:

1. Он содержит большую ошибку. Почини это!

2. Есть еще две вещи, которые не совсем корректны. Кто они такие? (Подсказка: один обычно определяется как предупреждение компилятором, а другой связан с этим).

3. Напишите одну или две строки, чтобы распечатать массив, используя for-loop.

При печати данных [я] я получаю 0:

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

void main(void) 
{ 
    int i, j ; 
    int Data[15] ; 
    for(i=1;i<=15;i++) 
     Data[i]=i*i ; 

    printf("%d\n", Data[i]) ; 
} 
+0

'int Данные [15]' имеют индексы '0' -' 14', поэтому вы пропускаете первый элемент и пройдите мимо конец. Кроме того, после цикла 'for',' i' равно 16, которое также выходит за границы массива ('printf' is * not * в цикле' for'). – crashmstr

ответ

1

У меня нет достаточного количества повторений, чтобы сделать комментарий, но это требует намного больше информации, чтобы помочь. Какие ошибки вы получаете и что вы пытаетесь сделать здесь?

Также индексирование начинается с 0 обычно, так что, возможно, это завинчивается. Вы начинаете с 1 только FYI, вы должны идти 0-14 не 1-15

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