下列定义语句中,错误的是A.int px*;B.char*acp[10];C.char(*pac)[10];D.int(*p)();

题目

下列定义语句中,错误的是

A.int px*;

B.char*acp[10];

C.char(*pac)[10];

D.int(*p)();

参考答案和解析
正确答案:A
解析:B项定义了一个指针数组,正确。C项定义了一个指向字符数组的指针,即数组指针,正确。D项定义了一个指向返回值为整型量的函数的指针,即函数指针,正确。A项定义语句错误,本题选A。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

7、下面语句错误的是()。

A.int *p; *p=20;

B.char *s="abcdef"; printf("%s\n",s);

C.char *str="abcdef"; char *p; p=str

D.char *str;str="abcdef";


x=x+10=x+y

第2题:

55、在以下new和delete运算符使用中,错误的是().

A.char *p=new char[10]; delete[]p;

B.char *p=new char[5]; delete []p; p=new char[10]; delete []p;

C.char *p=new char; delete p;

D.char *p=new int[10]; delete p;


char *p=new int[10]; delete p;

第3题:

如下语句中实现数组指针声明的是?

A.char (*s)[10];

B.char *s[0];

C.char *s[10];

D.(char *)s[10];


char (*s)[10];

第4题:

下面执行哪一个语句会抛出ArrayIndexOutOfBoundsException?

A.int[] c=new int[3]; int c1=c[1];

B.char[] c=new char[10]; char c1=c[10];

C.char[] c=new char[100]; char c1=c[0];

D.int[] c=new int[3]; int c1=c[0];


LIKE

第5题:

要使语句“p=new int[10][20];”能够正常执行,p应被事先定义为(D )。

A.int *p;

B.int **p;

C.int *p[20];

D.int(*p)[20];


阅读用户输入

第6题:

以下哪个定义中的p不是指针,请选择恰当的选项():

A.char **p;

B.char (*p)[10];

C.char *p[6];

D.给出的三项中,p都是指针


char *p[6];

第7题:

若已定义a为int型变量,则下面的语句中正确的是:

A.int *p=a;

B.int *p=*a;

C.int p=&a;

D.int *p=&a;


int *p=&a;

第8题:

要使语句“p=newint[10][20]”能够正常执行,p应被事先定义为( )。

A.int*p

B.int**p

C.int*p[20]

D.int(*p)[20]


正确答案:D

第9题:

已知:intn=10;那么下列语句中错误的是

A.int*p=new long[n];

B.int p[n];

C.int*p=new long(n);

D.int p[10];


正确答案:B
解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针>=new类型>(初值);如C选项所示,若带有元素个数,则其语法格式为:《指针》=new类型>[元素个数>],如A选项所示。数组定义中数组大小必须为常量,而B选项中的n为一变量所以是错误的。