指针函数和c语言互换 指针函数和c语言互换的函数

C语言问题:怎样用指针和函数实现两个数组的交换

#include stdio.hvoid swaparr(int *a,int m,int *b,int n) { // 仅交换n和m中较小者的元素个数

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、连山网站维护、网站推广。

int SIZE,tmp;

if(n m) SIZE = m;

else SIZE = n;

for(int i = 0;i SIZE;i++) {

tmp = a[i];

a[i] = b[i];

b[i] = tmp;

}

}void main() {

int a[] = {10,25,32,66,54,89,74,55,12,42};

int b[] = {58,21,35,102,56,97,18,63,85,50};

int i,m,n;

m = sizeof(a)/sizeof(int);

n = sizeof(b)/sizeof(int);

printf("\n交换前的数组a中的元素为 :\n");

for (i = 0;i m;i++) printf("%5d",a[i]);

printf("\n交换前的数组b中的元素为 :\n");

for (i = 0;i n;i++) printf("%5d",b[i]);

swaparr(a,m,b,n);

printf("\n交换后的数组a中的元素为 :\n");

for (i = 0;i m;i++) printf("%5d",a[i]);

printf("\n交换后的数组b中的元素为 :\n");

for (i = 0;i n;i++) printf("%5d",b[i]);

printf("\n\n");

}

C语言用指针和函数调换两个整数 帮忙修改

#include

void swap(int *p1,int *p2);

int main()

{

int a,b,*pa,*pb;

scanf("%d%d",a,b);

pa=a;

/*指针pa指向整数a*/

pb=b;

/*指针pb指向整数b*/

printf("a=%d,b=%d\n",a,b);

swap(pa,pb);

/*调用函数swap,实参为指针*/

printf("a=%d,b=%d\n",a,b); }

void swap(int *p1,int *p2)

{

int t;

t=*p1;*p1=*p2;*p2=t;

}错误的地方还真不少。。。。

C语言指针使用函数交换两个变量的值

这个地方会出现不好理解的东西。

调用函数的时候,你放入了int

a

int

b

但是这其实不是你的main函数中的a

b只是相当于他们的副本,也就是复制了一个a

和b

传入函数

所以你改变的只是传入的副本

也就是复制的副本a

b所以在main函数中打印的ab不会出现变化

依然是a=3,b=6

现在回答第二个问题,怎么会让ab的值变化:传入指针,也就是在main函数中使用a

b的指针,然后吧指针传入到函数里面

这个时候ab就会真正的发生变化,因为指针指向的是ab的物理地址,也就是真正的ab,不是副本,这个时候就会改变ab的值。想要理解,可以去百度传值参数和引用参数。纯手打,望采纳

c语言用指针和自定义函数实现数组元素的调换

#include stdio.h

#define N 10

void Swap ( int *a, int *b, int n);

int main(void)

{

int *a, *b;

int num1[N], num2[N];

for (a = num1; a num1 + N; a++)

scanf ("%d", a);

for (b = num2; b num2 + N; b++)

scanf ("%d", b);

a = num1;//重新指向首地址

b = num2;//重新指向首地址

Swap (a, b, N);

printf ("*********交换后**********\n");

for (a = num1; a num1 + N; a++)

printf ("%3d", *a);

printf ("\n");

for (b = num2; b num2 + N; b++)

printf ("%3d", *b);

return 0;

}

void Swap (int *a, int *b, int n)

{

int temp;

int i;

for (i = 0; i n; i++)

{

temp = *(a + i);

*(a + i) = *(b + i);

*(b + i) = temp;

}

}


网站栏目:指针函数和c语言互换 指针函数和c语言互换的函数
URL标题:http://hbruida.cn/article/doposco.html