问题
单项选择题
以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:
#include<stdio.h>
findmax(int*s,int t,int*k)
int p;
for(p=0,*k=p;p<t;p++)
if(s[p]>s[*k])________;
main()
int a[10],i,k;
for(i=0;i<10;i++)scanf("%d",&a[i]);
findmax(a,10,&k);
printf("%d,%d\n",k,a[k]);
A.k=p
B.*k=p-s
C.k=p-s
D.*k=p
答案
参考答案:D
解析:[评析] k是—个指针,它的值是—个地址,要通过它为主函数的变量改变数据,必须使用*p,边样就可以把—个下标数赋给p指针指向的那个内存单元,所以横线处应填入*k=p。