问题 单项选择题

以下程序调用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。

单项选择题
单项选择题