niusouti.com

下面程序编译时发现ma[3]=9错误,其原因是______。 include class FunArray { int*pa;下面程序编译时发现ma[3]=9错误,其原因是______。include<iostream.h>class FunArray{int*pa; //指向一个数组空问int size; //数组元素个数public:FunArray(int a[],int thesize):pa(a),size(thesize){}int Size( ){return size;}}};void m

题目
下面程序编译时发现ma[3]=9错误,其原因是______。 include class FunArray { int*pa;

下面程序编译时发现ma[3]=9错误,其原因是______。

include<iostream.h>

class FunArray

{

int*pa; //指向一个数组空问

int size; //数组元素个数

public:

FunArray(int a[],int thesize):pa(a),size(thesize){}

int Size( ){return size;}

}

};

void main( )

{

int s[]={3,7,2,1,5,4};

FunArray ma(s,sizeof(s)/sizeof(int));

ma[3]=9;

cout<<ma[3]<<endl;

}


相似考题
更多“下面程序编译时发现ma[3]=9错误,其原因是______。 include<iostream.h> class FunArray { int*pa; ”相关问题
  • 第1题:

    下列程序编译时发现pb->f(10);语句出现错误,其原因是______。 include class Base {

    下列程序编译时发现pb->f(10);语句出现错误,其原因是______。

    include<iostream.h>

    class Base

    {

    public:

    void f(int x){cout<<"Base:"<<x<<endl;)

    };

    class Derived:public Base

    {

    public:

    void f(char*str){cout<<"Derived:"<<str<<endl;}

    };

    void main(void)

    {

    Derived*pd=new Derived;

    Pd->f(10);

    }


    正确答案:数据类型不匹配
    数据类型不匹配 解析:pd为派生类Derived的指针,指向派生类的成员函数f(char*Str),不指向基类的f(intx)。

  • 第2题:

    下面程序错误的语句是①include ②void main()③{④int * p=new int[1]⑤p=9⑥cout<<* p<

    下面程序错误的语句是

    ①#include<iostream.h>

    ②void main()

    ③{

    ④ int * p=new int[1]

    ⑤ p=9

    ⑥ cout<<* p<<end1;

    ⑦ delete []p;

    ⑧}

    A.④

    B.⑤

    C.⑥

    D.⑦


    正确答案:B
    解析:本题考查的是指针的使用,p是指向int型的指针,若想给它指向的元素赋值,应使用*符号,直接赋值相当于改变了原来p存储的地址。

  • 第3题:

    如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。

    include<iostream.h>

    class test

    {

    private:

    int hum;

    public:

    test(int);

    void show( );

    };

    test::test(int n){num=n;}

    test::show( ){cout<<num<<endl;}

    void main( )

    {

    test T(10):

    T.show( );

    }


    正确答案:void test::show( ){coutnumendl;}
    void test::show( ){coutnumendl;} 解析:show成员函数的声明和实现不一致,即实现部分应有void修饰符,这样才能编译通过。

  • 第4题:

    下列程序的运行结果是 inClude roid fun(int *a,int * b) { int * k; k=a;a=b

    下列程序的运行结果是 #inClude<iostream.h> roid fun(int *a,int * b) { int * k; k=a;a=b;b=k;} void main( ) { int a=2004,b=9,* x=&a,* y=&b; fun(x,y); cout < < a < <" " < < b < < end1;}

    A.2004 9

    B.9 2004

    C.0 0

    D.编译时出错


    正确答案:A
    解析:本题函数fun中形参是两个指针变量,函数fun只是将这两个指针的指向的地址交换了一下而并没有交换它们所指向的地址中的数据。虽然,主函数中声明的变量a,b是整型变量而函数fun中的形参是两个指针变量,这两个变量仅仅是两个参数,与主函数中的那两个变量含义是不同的。注意:采用指针或引用可将值交换。

  • 第5题:

    下面程序的结果为______。include void main() { int 3=1,b=2; bool c=1; if(a>b)||c

    下面程序的结果为______。

    include<iostream.h>

    void main()

    {

    int 3=1,b=2;

    bool c=1;

    if(a>b)||c)cout<<“true”<<endl;

    else

    cout<<“false”<<endl;

    }


    正确答案:true。
    true。 解析: 本题考查的是对于逻辑运算符号的理解,”||”运算符的任何一边取值为真,则整个运算结果为真。