
int m(int a[3][4]){
int i,j,t,m;
m=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(m>a[i][j])
m=a[i][j];
return (m);}
void main(){
int a[3][4],i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("%d",m(a));
}运行就正常,但是如果在主函数里面定义一个变量m,m=m(a);把printf函数里面的“m(a)”改成m结果就有错误了。求教!!!!
不能同时定义同名的函岁答数和变量。在函数m里由于变量m是局部变量,所以可以遮蔽全局函数名m所以可以这样定义。但是在主函数里面定义一个变量m,函数m被遮蔽 m=m(a);就出错了。如乎戚慧果非得这么变态的话 ,C+++ 里可以,这仔桥样用m=::m(a);
m 是一个变量,只能被赋一个值
m(a)是一个函数方法,且返回旅扰值不止一个
m不能等返昌于m(a)
即使m被定漏镇扒义 为数组也不能m=m(a)这样赋值
变量名字不能同函数名一样, 会报错的吧。
估计把函数名命名为乱局min,然后你再定义m = min(。。哗脊让。)就没问题野差了。