c语言中swap问题小结
2015-03-21 11:36
513 查看
c语言中swap问题小结
2012-04-05 12:10:08
分类: C/C++
swap:实现交换的话,得传地址过去进行交换
点击(此处)折叠或打开
#include<stdlib.h>
#include<stdio.h>
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
void swap2(int
*x,int
*y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
void swap3(int
*x,int
*y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void swap4(int a[],int b[])
{
int temp;
temp=a[0];
a[0]=b[0];
b[0]=temp;
}
void swap5(int a[],int b[])
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int x,y;
x=4;
y=3;
swap1(x,y);
printf("swap1: x:%d,y:%d\n",x,y);//形参传值,不能交换,实际传过去是拷贝的一份,没改变主函数中x,y
swap2(&x,&y);
printf("swap2: x:%d,y:%d\n",x,y);//不能交换,函数中只是地址交换了下,地址指向的内容没有交换
swap3(&x,&y);
printf("swap3: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行了交换
swap4(&x,&y);
printf("swap4: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行交换
swap5(&x,&y);
printf("swap5: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行交换
return 0;
}
点击(此处)折叠或打开
swap1: x:4,y:3
swap2: x:4,y:3
swap3: x:3,y:4
swap4: x:4,y:3
swap5: x:3,y:4
转自 http://blog.chinaunix.net/uid-26826958-id-3161383.html
2012-04-05 12:10:08
分类: C/C++
swap:实现交换的话,得传地址过去进行交换
点击(此处)折叠或打开
#include<stdlib.h>
#include<stdio.h>
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
void swap2(int
*x,int
*y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
void swap3(int
*x,int
*y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void swap4(int a[],int b[])
{
int temp;
temp=a[0];
a[0]=b[0];
b[0]=temp;
}
void swap5(int a[],int b[])
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int x,y;
x=4;
y=3;
swap1(x,y);
printf("swap1: x:%d,y:%d\n",x,y);//形参传值,不能交换,实际传过去是拷贝的一份,没改变主函数中x,y
swap2(&x,&y);
printf("swap2: x:%d,y:%d\n",x,y);//不能交换,函数中只是地址交换了下,地址指向的内容没有交换
swap3(&x,&y);
printf("swap3: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行了交换
swap4(&x,&y);
printf("swap4: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行交换
swap5(&x,&y);
printf("swap5: x:%d,y:%d\n",x,y);//能交换,地址指向的内容进行交换
return 0;
}
点击(此处)折叠或打开
swap1: x:4,y:3
swap2: x:4,y:3
swap3: x:3,y:4
swap4: x:4,y:3
swap5: x:3,y:4
转自 http://blog.chinaunix.net/uid-26826958-id-3161383.html
相关文章推荐
- c语言中swap问题小结
- 深入理解C语言----标准I/O小结(缓冲区,I/O函数及其他相关问题)
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- 【我解C语言面试题系列】003 死循环格式问题小结?
- 一些C语言中字符串的算法问题解决实例小结
- C语言的宏问题小结
- c语言指针问题小结
- 【我解C语言面试题系列】003 死循环格式问题小结?
- swap算法——c语言中值传递和引用传递的问题
- C语言测试:想成为嵌入式程序员应知道的0x10个基本问题
- 水滴石穿C语言之编译器引出的问题
- C语言之可变参数问题
- 我有个问题想请高手解答一下!是C语言的!谢谢了!我有急用
- 在WebPart中进行一些权限判断的问题小结
- 水滴石穿C语言之可变参数问题
- c语言学习零碎整理(2):结构体对齐问题
- 一个c语言构造函数调用的问题(有趣)
- 水滴石穿C语言之typedef的问题
- 水滴石穿C语言之typedef的问题
- 关于C语言For循环的一个问题~!