【发布时间】:2016-07-27 09:03:04
【问题描述】:
这是一个查找数组中最大数的最大出现次数的程序。 如何解决此中的分段错误错误?黑客等级问题
/* given:
1<n<10^5
1<arrayNum[n] <10^7 */
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main(){
signed long int max,n,d,a,arrayNum[n];
signed long int max_count; scanf("%ld",&n);
for( a=0; a < n; a++)
{
scanf("%ld",&arrayNum[a]);
}
max = arrayNum[0];
max_count = 1;
for (int a = 0; a < n; ++a)
{
if (arrayNum[a] == max)
max_count++;
else if (arrayNum[a] > max)
{
max_count = 1;
max = arrayNum[a];
}
}d=max_count;
printf("%ld",d);
return 0;}
【问题讨论】:
-
从学习C开始。你认为这条线在做什么?
signed long int max,n,d,a,arrayNum[n];
标签: c segmentation-fault