假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。A、pb=b;B、pb=b[0];C、pb=new int;D、pb=b[5];

题目

假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。

  • A、pb=b;
  • B、pb=&b[0];
  • C、pb=new int;
  • D、pb=b[5];
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

要使语句“p=new int[10][20]”正确,p应事先定义为

A: int*p

B: int**p

C: int*p[20]

D: int(*p)[20]


正确答案: D

第2题:

若x是整型变量,pb是基本类型为整型的指针变量,则正确的赋值语句是 ( )

A.pb=&x;

B.pb=x;

C.* pb=& x;

D.* pb=* x;


正确答案:A

第3题:

假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为()。

a. pb=b;

b. pb=&b[0];

c. pb=b+2;

d. pb=b[5];


正确答案是:D

第4题:

如下程序执行后的输出结果是【】。include using namespace std; class Base { public:

如下程序执行后的输出结果是【 】。

include <iostream>

using namespace std;

class Base

{

public:

Base(int x,int y)

{

a=x;

b=y;

}

void Show()

{

cout<<"Base: "<<a<< ',' <<b<<" ";

}

private:

int a,b;

};

class Derived : public Base

{

public:

Derived(int x, int y, int z) : Base(x,y),c(z) { }

void Show()

{

cout<<"Derived:"<<c<<end1;

}

private:

int c;

};

int main()

{

Base b(100,100),*pb;

Derived d(10,20,30);

pb=&b;

pb->Show();

pb=&d;

pb->Show();

return 0;

}


正确答案:Base:100100 Base:1020
Base:100,100 Base:10,20 解析:本题考核对象指针的应用。主函数中通过对象指针pb.分别调用其类成员函数Show()和派生类成员函数Show()先后输出 Base:100,100Base:10,20。

第5题:

有以下程序 include using namespace std; class Base { int a; public: Base(int x)

有以下程序

include <iostream>

using namespace std;

class Base

{

int a;

public:

Base(int x){ a=x; }

void show(){ cout<<a; }

class Derived : public Base

{

int b;

public:

Derived(int i) :Base(i+1),b(i){}

void show() { cout<<b;

};

int main ()

{

Base b(5),*pb;

Derived d(1);

pb=&d;

pb->show ();

return 0;

}

运行后的打印结果是______。


正确答案:2
2 解析:本题考核基类指针与派生类指针的使用。本例程序中类Derived是从基类Base公有继承来的。main()中定义了基类对象b和一个基类指针pb,又定义了派生类Derived的对象d。由于Derived是Base的子类型,因此可以将派生类Derived的对象d的地址赋值给指向基类Base的指针pb,但这时指针pb只能使用从基类Base继承的成员。所以通过对象指针Pb调用的show函数是基类的成员函数show(),从而输出基类私有数据成员a的值2。

第6题:

若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达式是()。

A、*pb=&x;

B、pb=&x

C、pb=x;

D、*pb=*x


参考答案:ACD

第7题:

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

A.2

B.3

C.&a[0][1]

D.&a[1][0]


正确答案:A
解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

第8题:

若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是______。

A.pb=&x;

B.pb=x;

C.*pb=&x;

D.*pb=*x


正确答案:A
选项A将变量x的地址赋给指针变量pb,使pb指向x选项B是将x的值当作地址赋绐指针pb,pb指向—个地址等于x值的内存单元:选项C将x的地址赋给指针pb指向的地址等于x的内存单元。

第9题:

下面代码有何错误

void func1()

{

int *pa = NULL;

func2(pa);

delete pa;

}

void func2(int *pb)

{

pb = new int(5);

}


正确答案:

 

第10题:

下列程序中,正确的为______。

A.main() { int *pb=&b; float 1>=15.25; print f("%d\n" ,*pb); }

B.amin() { int a,*pa; a=10; *pa=a; prinffC%d",*pa); }

C.main() { char s[20]; char *ps=&s; scanf("%s",*p); printf("%s",*p); }

D.main() { char str[10]; int *ps=str[0]; str="abcdefg"; printf("%s",*p); }


正确答案:B

更多相关问题