题目:输入10个1位正整数存入一维整型数组,统计并输出其中出现次数最多的整数及其出现的次数。要求用指针变量处理数组元素。
main()
{static int a[10]={0},n[10],*p,*q;
for(p=a;p<a+10;p++)
scanf("%d",p);
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);} / q-n是次数出现最多的一位整数,*q是次数 /
程序无误,疑问一:为什么用q-n代表“次数出现最多的一位整数"?
疑问二:*q代表次数,但运行后*q为什么是0而不是出现的次数?