选择题 28.  有以下程序:
    #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-8;
    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
【答案解析】 当p=a,n=10,x=10时while循环条件成立,直到p=a+9,结束循环,执行下一条语句,if条件成立,返回p-a,此时p-a=a+9-a=9,因此输出9。故答案为选项A。