c语言书上题实在不理解,指针指向一维数组,统计输出现最多的数,和出现次数

来源:百度知道 编辑:UC知道 时间:2024/07/02 00:36:20
不理解的地方标注下面
#include "stdio.h"
#include "conio.h"
int main()
{
static int a[10]={0},n[10],*p,*q;
for(p=a;p<a+10;p++)
scanf("%d",p);
getchar();
for(p=a;p<a+10;p++)
n[*p]++;\\这个循环和表达式如何理解?
q=p=n;
p++;
while (p<n+10)
{
if(*p>*q)
q=p;
p++;
}
printf("%d %d \n",q-n,*q); \\输出的是什么意思呢
getch();
return 0;
}
还有一个static 静态在这里起什么作用呢?

\\这个循环和表达式如何理解?
A:这个循环中的n数组中保存的是某个输入值的出现次数
比如输入第一个值是4,刚n[4]++表示4出现的次数+1

\\输出的是什么意思呢
q-n表示出现最多次数的数,*q表示出现了多少次

static 个人认为没有什么作用吧