十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
新和网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
int proc(int m,int a[ ])
{
int i,n=0;
for(i=1;i=m;i++)
if(i%7==0 || i%11==0) a[n++]=i; printf("%d\n",n);
return n;
}
int main()
{
int m,n,i,s[100]={0};
scanf("%d",m);
n=proc(m,s);
for(i=0;in;i++)
printf("%d,",s[i]);
return 0;
}
分两种,一种是按值传递,一种是按地址传递,
按值传递就是在子函数中开辟出一个临时内存空间,将传递的数值保存在这个空间中,当子函数结束后,这个内存空间就会释放了!
按地址传递则是把主函数开辟的某个内存空间首地址传递给子函数,子函数可以直接读写主函数上这段内存空间,当子函数结束后,这部分空间不会被释放,主函数将继续使用这段空间!
1.proc函数种少了一对括号: for(j=i;j3;j++)
{ t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
2.这个函数是值传递,没有输出,不能实现目的,2中改进办法:1用指针传递。2把输出循环放入proc函数中.
#includestdio.h
void proc(int a[3][3])
{
int t,i,j;
for(i=0;i3;i++)
for(j=i;j3;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
for(i=0;i3;i++)
{for(j=0;j3;j++)
printf("%7d",a[i][j]);
printf("\n");}
}
void main()
{
int arr[3][3]={{1,1,1},{4,4,4},{7,7,7}};
proc(arr);
}