有这样的定义float *p[4];则下面的叙述中正确的是_______。
A. 此定义不正确,形如char *p[4];的定义才是正确的
B. 此定义正确,p是指向一维实型数组的指针变量,而不是指向单个实型变量的指针变量
C. 此定义不正确,C语言中不允许类似的定义
D. 此定义正确,定义了一个指针数组
若有以下定义语句:static int a[2][3]={1,3,5,7,9,11};int m,n;且0≤m≤1,0≤n≤2,则_______是对数组元素的正确引用。
A. a[m]+n
B. *(a+5)
C. *(*(a+m)+3)
D. *(*(a+m)+n)
有如下函数:fun(int *p1,int *p2){int *p;*p=*p1;*p1=*p2;*p2=*p;}其功能为_______。
A. 正确,但无法改变*p1和*p2的值
B. 能够成功交换*p1和*p2的值
C. 能够成功交换*p1和*p2的地址
D. 能够成功交换p1和p2的值
下面各语句行中,能正确进行字符串赋值操作的是________。
A. char st[4][5]={"ABCDE"};
B. char s[5]={'A','B','C','D','E'};
C. char *s;s="ABCDE";
D. char *s;scanf("%s",s);