|  | 
 
| 
Q:若有double *p,x[10];int i=5;
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  使指针变量p指向元素x[5]的语句是
 A.p=&x[i];
 B.p=x;
 C.p=x[i];
 D.p=&(x+i);
 
 
 B×  p=x是指向数组首元素地址
 
 
 
 
 A.
 
 复制代码#include <stdio.h>
#include <math.h>
int main()
{
      double *p,x[10];int i=5;
      p=&x[i];
          printf("p=%lf\n",p);//p=0.000000
          printf("*p=%lf\n",*p);//*p=0.000000
          printf("x[0]=%lf\n",x[0]);//x[0]=0.000000
        
         
     
        return 0;
        
}
 B.
 
 复制代码#include <stdio.h>
#include <math.h>
int main()
{
      double *p,x[10];int i=5;
      p=x;
          printf("p=%lf\n",p);//p=0.000000
          printf("*p=%lf\n",*p);//*p=0.000000
          printf("x[0]=%lf\n",x[0]);//x[0]=0.000000
        
         
     
        return 0;
        
}
 
 C.
 
 复制代码#include <stdio.h>
#include <math.h>
int main()
{
      double *p,x[10];int i=5;
         p=x[i];
          printf("p=%lf\n",p);
          printf("*p=%lf\n",*p);
          printf("x[0]=%lf\n",x[0]);
        
         
     
        return 0;
        
}
 7        11
 [Error] cannot convert 'double' to 'double*' in assignment
 
 
 D.
 
 复制代码#include <stdio.h>
#include <math.h>
int main()
{
      double *p,x[10];int i=5;
      p=&(x+i);
          printf("p=%lf\n",p);
          printf("*p=%lf\n",*p);
          printf("x[0]=%lf\n",x[0]);
        
         
     
        return 0;
        
}
 7        14
 [Error] lvalue required as unary '&' operand
 [错误]左值需要作为一元'&'操作数
 | 
 |