下列字符数组的定义和初始化中有语法错误的是( )。
A. char s1[]="china";
B. char s2[]={"china"};
C. char s3[5]="china";
D. char s4[5]={99,'h','i','n',97};
查看答案
设有声明语句如下:char str[]="12345\0abcde",*s=str;则下列说法中错误的是( )。
A. sizeof(s)的值为12
B. strlen (str)的值为5
C. strlen(s)的值为5
D. strcmp(s,"12345")的值为0
下列关于数组和指针的操作中正确的是( )。
A. double c[3][5],*pc=c;
B. float b[5],*pb=&b[1];
C. char d[3][5],(*pd)[3]=d;
D. int* e[5],*pe=e;
下列动态空间的分配中,不正确的是( )。
A. char * p1 = new char(‘a’);
B. float * p2 = new float;
C. double * p3 = new float ;
D. int n=5, (*p4)[10] = new int[n][10];
设有动态空间分配如下:char * p1 = new char;float * p2 = new float[5];double * p3 = new double[5] ;int *p4 = new int[5];则下列动态空间的释放中不正确的是( )。
A. delete p1;
B. delete p2;
C. delete []p3;
D. delete [5]p4;