有以下程序 #include <stdio.h> main( ) { int x[ ] = {8,2,6,12,5,15}, f1, f2; int *p = x; f1 = f2 = x[0]; for( ; p<=x+5; p++

admin2021-06-15  33

问题 有以下程序
#include <stdio.h>
main( )
{  int x[ ] = {8,2,6,12,5,15}, f1, f2;
   int *p = x;
   f1 = f2 = x[0];
   for( ; p<=x+5; p++)
   { if( f1<*p ) f1 = *p;
     if( f2>*p ) f2 = *p;
   }
   printf("%d,%d\n", f1, f2);
}
程序的运行结果是

选项 A、15,2  
B、15,15  
C、2,15
D、8,8

答案A

解析 本题的用意是求数组的最大值和最小值,首先把数组x首地址的值赋给指针p,故*p初始值为8,而p是地址值,p+1相当于数组中下一元素的地址,在for循环,是求数组x对应的最大值和最小值,f1为最大值,f2为最小值。因此输出为15,2,答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/jAtp777K
0

最新回复(0)