是小狐狸啊 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;
    }
    

    图片说明

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

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛