#include <iostream>
using namespace std;
int resove(int *buf)
{
int sum=0;
for(int i=0;i<5;i++)
{
sum+=buf[i];
}
return sum;
}
int main()
{
float a[5]={1,2,3,4,5};
int sum=0;
sum=resove((int*)a); //这样传值是错误的
cout<<"sum="<<sum<<endl;
return 0;
}
正确的代码在下面:
#include <iostream>
using namespace std;
int resove(float buf[])
//int resove(float *buf) 这样也行
{
int sum=0;
for(int i=0;i<5;i++)
{
sum+=buf[i];
}
return sum;
}
int main()
{
float a[5]={1,2,3,4,5};
int sum=0;
sum=resove(a); //这样传值是错误的
cout<<"sum="<<sum<<endl;
return 0;
}