69,371
社区成员
发帖
与我相关
我的任务
分享
or(j=1;j<=IntegerNumber;j++)
{
scanf("%d",&integer[j]); ///输入数组
if( start == 0 && integer[j] >= 0 )///确定第一个大于等于零的数作为起始位
start = j ;
}
这个地方有可能导致越界,比如输入的IntegerNumber为1000,这个地方就越界了。下标从0开始,
or(j=0;j<IntegerNumber;j++)
{
scanf("%d",&integer[j]); ///输入数组
if( start == 0 && integer[j] >= 0 )///确定第一个大于等于零的数作为起始位
start = j ;
}
另外,对于大数组,建议定义成全局的或者静态变量。栈上的空间是稀少和宝贵的,不建议占用栈上的过多空间。
static int integer[1000];
int CaseNumber ; ///情况数
int IntegerNumber ;///每一种情况包含的数字个数
static int MaxSum[1000] ;