编写用指针变量作为函数参数实现两个数的交换的函数
编写用指针变量作为函数参数实现两个数的交换的函数,主函数输入两个个数都为10的数组A,B,调用所编写的函数交换数组A,B中对应元素的值....
编写用指针变量作为函数参数实现两个数的交换的函数,主函数输入两个个数都为10的数组A,B,调用所编写的函数交换数组A,B中对应元素的值.
展开
2个回答
展开全部
#include<stdio.h>
#define N 10
void exchange(int *pa,int *pb) { int k; k=*pa; *pa=*pb; *pb=k; }
void main()
{ int a[N]={0,1,2,3,4,5,6,7,8,9},b[N]={10,11,12,13,14,15,16,17,18,19},i;
for ( i=0;i<N;i++ ) printf("%2d ",a[i]); printf("\n");
for ( i=0;i<N;i++ ) printf("%2d ",b[i]); printf("\n");
exchange(&a[7],&b[3]);
for ( i=0;i<N;i++ ) printf("%2d ",a[i]); printf("\n");
for ( i=0;i<N;i++ ) printf("%2d ",b[i]); printf("\n");
}
#define N 10
void exchange(int *pa,int *pb) { int k; k=*pa; *pa=*pb; *pb=k; }
void main()
{ int a[N]={0,1,2,3,4,5,6,7,8,9},b[N]={10,11,12,13,14,15,16,17,18,19},i;
for ( i=0;i<N;i++ ) printf("%2d ",a[i]); printf("\n");
for ( i=0;i<N;i++ ) printf("%2d ",b[i]); printf("\n");
exchange(&a[7],&b[3]);
for ( i=0;i<N;i++ ) printf("%2d ",a[i]); printf("\n");
for ( i=0;i<N;i++ ) printf("%2d ",b[i]); printf("\n");
}
追问
没有实现交换的功能。
追答
交换了a的7和b的3,如果是要全部一一对应交换,将exchange(&a[7],&b[3]);改成
for ( i=0;i<N;i++ ) exchange(&a[i],&b[i]);即可
展开全部
#include"stdio.h"
void f(int*a,int*b)
{ int t;
t=*b;
*b=*a;
*a=t;
}
main()
{
int A[3,2,1]={1},B[3]={1,2,3},i;
f(A,B);
for(i=0;i<3;i++)
printf("%d",A[i]);
putchar('\n');
for(i=0;i<3;i++)
printf("%d",B[i]);
}
void f(int*a,int*b)
{ int t;
t=*b;
*b=*a;
*a=t;
}
main()
{
int A[3,2,1]={1},B[3]={1,2,3},i;
f(A,B);
for(i=0;i<3;i++)
printf("%d",A[i]);
putchar('\n');
for(i=0;i<3;i++)
printf("%d",B[i]);
}
追问
有错误。
追答
#include"stdio.h"
void f(int*a,int*b)
{ int t;
t=*b;
*b=*a;
*a=t;
}
main()
{
int A[]={5},B[]={1};
f(A,B);
printf("%d",A[0]);
putchar('\n');
printf("%d",B[0]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询