帮我看看这道C++程序错在哪了?

来源:百度知道 编辑:UC知道 时间:2024/05/24 09:54:10
//使用函数input 输入一组数并返回一个指针,然后由主函数main将这组数显示出来
#include <iostream>
using namespace std;
float *input(int&);//声明返回指针的函数
void main()
{ int num;
float *data;//声明与input 类型一致的指针
data=input(num);//调用函数,返回指针赋给data
if(data)//data不空,输出所指内容
{ for(int i=0;i<num;i++)//使用指针的下标形式
cout<<data[i]<<" ";//循环输出
delete data;//释放内存空间
}
}
float *input(int& n);//定义返回指针的函数
{ cout<<"input number: "
cin>>n;
if(n<=0) return NULL;//输入个数不合理则退出
float *buf=new float[n];//根据输入数据数量申请空间
if(buf==0) return NULL;//没申请到则退出
for(int i=0;i<n;i++)//接收输入数据
cin>>buf[i];
return buf;//返回指针
}

#include <iostream>
using namespace std;
float *input(int&);//声明返回指针的函数
void main()
{
int num;
float *data;//声明与input 类型一致的指针
data=input(num);//调用函数,返回指针赋给data
if(data)//data不空,输出所指内容
{
for(int i=0;i<num;i++)//使用指针的下标形式
cout<<data[i]<<" ";//循环输出
delete data;//释放内存空间
}
}
float *input(int& n)//定义返回指针的函数 ///////////////////////////这多了个分号
{
cout<<"input number: " ;////////////////////////////////////////////////////////////这少了个分号
cin>>n;
if(n<=0) return NULL;//输入个数不合理则退出
float *buf=new float[n];//根据输入数据数量申请空间
if(buf==0) return NULL;//没申请到则退出
for(int i=0;i<n;i++)//接收输入数据
cin>>buf[i];
return buf;//返回指针
}

初步看程序发现两个错误你修改后应该能通过编译
1.float *input(int& n);//定义返回指针的函数
这里的;号不应该要.因为这是定义函数不是申明
2.cout<<"input number: "
这里改加;号