若有定义:int*p[3];,则以下叙述中正确的是
A. 定义了一个基类型为int的指针变量p,该变量具有三个指针
B. 定义了一个指针数组p,该数组有三个元素,每个元素都是基类型为int的指针
C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素
D. 定义了一个可指向一维数组的指针变量p,所指一维数组应有三个int类型元素
若有以下的说明、定义和语句,则值为31的表达式是:structwc{inta;int*b;}*p;intx0[]={11,12},x1[]={31,32};staticstructwcx[2]={100,x0,300,x1};p=x;
A. *p->b
B. (++p)->a
C. *(p++)->b
D. *(++p)->b
设有以下语句:charstr[4][12]={"aaa","bbb","ccc","ddd"};char*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];若0≤k<4,下列选项中对字符串的非法引用是:
A. strp
B. str[k]
C. strp[k]
D. *strp
若有定义:char*p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为:
A. p1=&ch;scanf("%c",p1);
B. p2=(char*)malloc(1);scanf("%c",p2);
C. p3=getchar();
D. p4=&ch;*p4=getchar();