请问为什么input(float **p,int num,int length)的输入失效了!

#include <iostream>
#include <queue>
using namespace std;
void input(float **,int,int);
int main(){
float **p;
int length,i,num;
cout<<"输入 你要输入的组数: ";
cin>>num;
p=new float*[num];
for(i=0;i<num;i++){
cout<<"输入 你要输入每组的个数: ";
cin>>length;
//cout<<"输出每组的个数"<<length;
p[i]=new float[length];
input(p,num,length);
}
return 0;

}

void input(float **p,int num,int length){
int j;
for(j=0;j<length;j++){
cout<<"输入数字";
//fflush(stdin);
cin>>p[num][j];
}

}

泛舟湖上清波郎朗
浏览 183回答 2
2回答

汪汪一只猫

这两句在循环以前:cout<<"输入 你要输入每组的个数: ";cin>>length;for(i=0;i<num;i++){p[i]=new float[length]; // 动态分配input(p,i,length); // 输入数值。注意,参数要用 i, 否则函数里 p[num][j] 下标超界出错。}

米琪卡哇伊

很简单FLOAT ** 错了你这意思是p是float 指针的指针p[][]不是你想要的地址改成float* 就可以了
打开App,查看更多内容
随时随地看视频慕课网APP