问一个关於数组元素作函数实参的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:54:19
首先是一个例题:
#inlcude <iostream>
using namespace std;
int main()
{
int max_value(int x,int max);
int i,j,row=0,column=0,max;
int a[3][4]={{1,5,6,7},{19,20,69,45},{-12,16,59,33}};
max=a[0][0];
for(i=0;i<=2;i++)
for (j=0;j<=3;j++)
{
max=max_value(a[i][j],max);
if(max=a[i][j])
{row=i;
column=j;
}
}
cout<<"max="<<max<<",row"<<rwo<<",column="<<column<<endl;
}

int max_value(int x,int max)
{if(x>max)return x;
else return max;
}

问题是如果将函数写成:
int max_value(int x,int max)
{if(x>max) max=x;}

这样是不对的,能不能帮忙分析一下为什麽不行呢?
谢谢了~
嗯,谢谢了。只不过我还有一个问题不明白,为什么没有写return 运行结果会是默认的数组的最后一个元素呢?

int max_value(int x,int max)
{if(x>max) max=x;}
必须有返回值

通过子函数修改数据,可通过返回值、指针、引用等方式
不建议在子函数的内语句中修改全局数据,能避免就避免
除了void型,函数都必须有返回值

例如可改为:
int max_value(int x,int max)
{return (x>max)?x:max;}

//注意
if(max=a[i][j])
这个语句有误, 应该为
if(max==a[i][j])
否则就是赋值,由于循环,那么肯定是最后一个了

函数有一个int型的返回值,而你改后,却没有一个return语句
应该再加上return max;就OK了

max是函数中的变量,若你想改成那样,可用全局变量,或改成指针。

函数的行参定义为数组,但怎么把一个数组当实参传进去以便调用函数?(要使我的程序能够运行!!) 当调用函数时,实参是1个数组名,则函数传达的是? 用VFP作一个程序设计:求数组元素中的最大,最小以及他们的位置. 用c++数组编写一个函数求元素中的最大值 c++ 求数组中元素最大值的函数(1) 编写一个函数,找出数组a[n]中最大元素和最小元素所在的下标,并返回给主调函数。 请问asp一个数组元素的问题? 编写一个C程序函数可以对任意个元素的整型数组从小到大和从大到小排序 利用随机函数产生20个学生的英语成绩存入一个数组中。输出数组所有元素,每行输出3个;求最高分、最低分 什么是函数的“形参”和“实参”