c语言 一维数组 程序为什么报错

帮忙看看为什么报错int a[ ] = {-1, 3, -2, 4, -6, 1, 6, -1};这一行,谢谢!


#include <stdio.h>
int main() 
{
int i, max_sum, n, this_sum, 
int a[ ] = {-1, 3, -2, 4, -6, 1, 6, -1};
scanf("%d", &n);
max_sum = this_sum = 0;
for( i = 0; i < n; i++ ) {
    this_sum += a[i]; 
    if( this_sum > max_sum ) max_sum = this_sum; 
    else if( this_sum < 0 ) this_sum = 0;
}
printf("%d\n", max_sum);
}

int i, max_sum, n, this_sum;后面是分号

报啥错?