有以下程序 #include void fun( int *s, int t, int *k ) { int p; for( p=0, *k=p; ps[*k] ) *k = p; } main() { int a[10] = { 11,12,13,14

admin2015-07-28  23

问题 有以下程序
#include
void fun( int *s, int t, int *k )
{ int p;
for( p=0, *k=p; pif( 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

解析 该代码段的逻辑是循环判定s中的值,如果大于s[*k]则用*k记录当前的元素下标,所以k为数组a中值最大的元素的下标,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/ZKJp777K
0

最新回复(0)