是小狐狸啊 2016-05-31 13:18 采纳率: 63.6%
浏览 2181
已采纳

C++ 关于数组输出的一个简单问题

/*写了两个函数代替数组在主程序里的输入与输出,但是好像不能display数组a,为什么呢,改怎么改才能display我input的数组呢?*/
#include "stdafx.h"
#include
using namespace std;

void input(float*v,int length)
{
    cout<<"请输入数组长度及对应长度数组:";
    cin>>length;
    for(int i=0;i<length;i++)
    cin>>v[i];

}

void display(float*v,int length)
{
 int i=0;
 for(i=0;i<length;++i)
    cout<<v[i]<<"\t";
 cout<<endl;
}

int main(int argc, char* argv[])
{
    int length;
    float*a;
    input(a,length);
    display(a,length);
 system ("pause");
 return 0;
}
  • 写回答

1条回答 默认 最新

  • 小灸舞 2016-05-31 13:23
    关注

    1.你需要用引用传参的方式才能在input函数里修改main函数里的a和length
    2.必须为数组分配空间

     #include "stdafx.h"
    #include<iostream>
    using namespace std;
    
    void input(float *&v,int &length)
    {
        cout<<"请输入数组长度及对应长度数组:";
        cin>>length;
        v = new float[length];
        for(int i=0;i<length;i++)
            cin>>v[i];
    
    }
    
    void display(float*v,int length)
    {
        int i=0;
        for(i=0;i<length;++i)
            cout<<v[i]<<"\t";
        cout<<endl;
    }
    
    int main(int argc, char* argv[])
    {
        int length;
        float *a = NULL;
        input(a,length);
        display(a,length);
        system ("pause");
        return 0;
    }
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?