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);
输入8,输出7;
输入5,输出5;为啥呀!我两个都算错了
输入8,难道不是this-sum=-1+。+-1=4,然后max-sum=4 我同理得到输入5,输出0;是哪错了呢?