有以下程序 #include <stdio.h> int fun(int a[],int n,int x) { int *p=a; while( p<a+n && *p!=x ) p++; if ( p<a+n ) return

admin2021-07-09  23

问题 有以下程序
#include  <stdio.h>
int fun(int  a[],int  n,int  x)
{  int  *p=a;
   while( p<a+n && *p!=x ) p++;
   if ( p<a+n )  return  p-a;
   else  return  -1;
}
main()
{  int  a[10]={1,2,3,4,5,6,7,8,9,10};
   printf("%d\n",fun(a,10,10));  
}
程序运行后的输出结果是

选项 A、9
B、-1
C、10
D、0

答案A

解析 while( p<a+n && *p!=x ) p++;p=a;n=10,x=10;while循环条件成立,直到p=a+9,结束循环,执行下一条语句,if条件成立,返回p-a,此时执行p-a=a+9-a=9;因此,输出9。 故答案为A选项
转载请注明原文地址:https://kaotiyun.com/show/Wzkp777K
0

最新回复(0)