swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1]的值?顺便对比一下这条:函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换.在运行调用函数中的如下语句后

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 10:09:29
swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1]的值?顺便对比一下这条:函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换.在运行调用函数中的如下语句后

swap( int x,int y)实现对x和y值的交换.则执行语句swap(a[0],a[1]))后,a[0],a[1]的值?顺便对比一下这条:函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换.在运行调用函数中的如下语句后
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]的值?顺便对比一下这条:函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换.在运行调用函数中的如下语句后
#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语言的函数传值方式:值传递和引用传递,就明白了.