作业帮 > 综合 > 作业

swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/02 12:24:34
swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1]的值?
顺便对比一下这条:函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换.在运行调用函数中的如下语句后,a[0]和a[1]的分别是什么?a[0]=1;a[1]=2; swap(a,2);
swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1
#include<stdio.h>

void swap1(int a,int b) // 不能变
{
\x09int t=a;
\x09a=b;
\x09b=t;
}

void swap2(int *a,int *b)// 能变
{
\x09int t=*a;
\x09*a=*b;
\x09*b=t;
}

void swap3(int &a,int &b)// 能变
{
\x09int t=a;
\x09a=b;
\x09b=t;
}

int main()
{
\x09int a=10,b=20;
\x09swap1(a,b);
\x09printf("a=%d b=%d\n",a,b);
\x09swap2(&a,&b);
\x09printf("a=%d b=%d\n",a,b);
\x09swap3(a,b);
\x09printf("a=%d b=%d\n",a,b);
\x09return 0;
}
理解一下C语言的函数传值方式:值传递和引用传递,就明白了.