Поскольку при условии for
l oop i <= size
вы будете читать за пределами массива, на который указывает a
, на последней итерации l oop, что является причиной того, что программа имеет неопределенное поведение .
Если бы вы использовали i < size
, это было бы правильно, несмотря на то, что имеет меньше смысла устанавливать i
в 1
, потому что индекс начинается с 0 и вы бы пропустили один элемент массива с этим, что очень важно, если вы посчитаете все значения каждого элемента вместе. * это не так - это a[0]
.
Таким образом, единственное решение для правильного определения sumofelements()
:
int sumofelements(int a[],int size)
{
int i,sum=0;
for (i=0;i<size;i++)
{
sum+=a[i];
}
return sum;
}