Этот цикл
for(i=0;i<=11;i++){
вызывает неопределенное поведение, поскольку в цикле предпринимается попытка получить доступ к памяти вне массива.
Если массив имеет N
элементов, то допустимый диапазониз индексов [0, N)
. Поэтому перепишите цикл, как
for(i=0;i < 10;i++){
Причина ошибки заключается в использовании магических чисел. Используйте именованные константы вместо магических чисел. Например,
#include <stdio.h>
int main(void)
{
enum { N = 10 };
int count = 0;
int a[N];
for ( int i = 0; i < N; i++ )
{
a[i] = i;
if ( i % 2 == 0 )
{
count += a[i];
}
}
printf( "%d\n", count );
return 0;
}
Обратите внимание, что согласно стандарту C функция main без параметров должна быть объявлена как
int main( void )