为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++ C
泛舟湖上清波郎朗 2022-01-05 11:07:35
#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];}}
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

这两句在循环以前:
cout<<"输入 你要输入每组的个数: ";
cin>>length;

for(i=0;i<num;i++){
p[i]=new float[length]; // 动态分配
input(p,i,length); // 输入数值。注意,参数要用 i, 否则函数里 p[num][j] 下标超界出错。
}

查看完整回答
反对 回复 2022-01-09
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

很简单
FLOAT ** 错了
你这意思是p是float 指针的指针
p[][]不是你想要的地址
改成float* 就可以了

查看完整回答
反对 回复 2022-01-09
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信