有以下程序 #include <stdio.h> void fun( int *s, int t, int *k ) { int p; for( p=0, *k=p; p<t; p++ ) if( s[p]>s[*k] ) *k

admin2020-11-27  27

问题 有以下程序
#include <stdio.h>
void fun( int  *s, int  t, int  *k )
{  int  p;
   for( p=0, *k=p; p<t; p++ )
      if( s[p]>s[*k] ) *k = p;
}
main()
{
   int  a[10] = { 11,12,13,14,15,16,20,18,19,10 },k ;
   fun( a,10,&k );
   printf( "%d,%d\n",k, a[k] );
}
程序运行后的输出结果是

选项 A、6,20
B、10,9
C、7,20
D、10,10

答案A

解析 调用函数fun,将数组的地址、数组长度、变量k的地址传入函数。for函数实现将查找数组中最大值,将其下标值存入变量k标志的内存单元。输出k=6,a[6]=20,A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/buD0FFFM
0

最新回复(0)