单选题 有以下程序:
#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
【答案解析】[解析] 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选项。