若有以下定义和语句,且0≤i<10则对数组元素的错误引用是()。int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i; p=a;
A. *(a+i)
B. a[p-a]
C. p+i
D. *(p+i)
查看答案
对定义:char *a[2]={ "abcd","ABCD"};,以下说法中正确的是()。
A. 数组a的元素值分别为"abcd"和"ABCD"
B. a是指针变量,它指向含有两个数组元素的字符型数组
C. 数组a的两个元素分别存放的是含有4个字符的一维数组的首地址
D. 数组a的两个元素中各自存放了字符’a’、’A’的地址
若定义 int a=8,b,*p=&b; 则下面对赋值语句 p=&a; *p=a; 的正确解释为()。
A. 两个语句都是使p指向a
B. p=&a;是使p指向a,而*p=a是将a的值赋予*p
C. 两个语句都是将a的值赋予*p
D. p=&a是将a的值赋予*p,而*p=a是使p指向a
若定义 int b=8,*p=&b; 则下面均表示b的地址的一组选项为()。
A. *p, *&b
B. *p, &*b
C. p, *&b, &*p
D. &*p, p, &b
若定义 int a,b,*p1=&a,*p2=&b; 使p1指向b的赋值语句是 ()。
A. *p1=&b;
B. p1=&p2;
C. p1=*&p2;
D. p1=*&b;