重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
二维数组这样写是不正确的。比如把s[]数组的数连接在a[]后面,直接是strcat(a,s),直接写数组名。而在char strcat(char a[][],s[])中,第一个参数应该写为a[][50],第二个方括号里的不能省略。
为裕民等地区用户提供了全套网页设计制作服务,及裕民网站建设行业解决方案。主营业务为成都网站设计、成都做网站、裕民网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#includestdio.h
#define M 3
#define N 4
/*add函数要加返回值类型int*/
int add(int m,int n,int a[][N]) /*这里的a[][n]要改成a[][N],因为n是变量,不行*/
{
int i,j,sum=0;
for(i=0;im;i=i+m-1)
for(j=0;jn;j++)
sum=sum+a[i][j];
for(j=0;jn;j=j+n-1)
for(i=1;im-1;i++)
sum=sum+a[i][j];
return (sum);
}
void main ()
{
int a[M][N],i,j,s;
for(i=0;iM;i++)
for(j=0;jN;j++)
scanf("%d",a[i][j]);
s=add(M,N,a);
printf("S=%d\n",s);
}
第一个void fun(int a[],int n),调用方式你写的是fun(k,5),而K是数组,是个地址,所以是“地址传递”,在函数里面对a[]的任何修改,实际上都是对k[]的修改。
第二个void fun(int a, int b) ,调用方式你写的是fun(c[i], c[i+l]),是“值传递“,在函数里面的修改不会影响函数外的变量。
#includestdio.h
#define SIZE 3
#define SI 5
void store(float ar[], int n);
void showarr2(int rows,int cols,float ar[][SI]); //这里rows,cols不是常量,不能放在数组里定义长度
int main(void)
{
int b,a;
float max[SIZE][SI];
int q,w;
for(q=0;qSIZE;q++)
{
printf("第 %d 行输入%d个数:\n ",q+1 ,SI);
store(max[q],SI);
}
printf("数组内容:\n");
showarr2(SIZE,SI,max);
}
void store(float ar[], int n)
{
int i;
for(i=0;in;i++)
{
printf("请输入第%d个数字:\n",i+1);
scanf("%f",ar[i]);
}
}
void showarr2(int rows,int cols ,float ar[][SI])
{
int i,k;
for(i=0;irows;i++)
{
for(k=0;kcols;k++)
printf("%.1f ",ar[i][k]); //这里是i和k哦
printf("\n");
}
}