利用指针实现变量交换
2013-10-28 17:28
471 查看
变量交换:可以利用宏定义,也可以利用函数指针址传递。
切不可写成 void SWAP(int a, int b)!!!
#include <stdio.h>
//#define SWAP(a,b) {int t=a;a=b;b=t;}
void SWAP(int*a,int*b)
{
int t=*a;
*a=*b;
*b=t;
}
int main()
{
int i = 1;
int j = 2;
printf("i=%d, j=%d\n",i,j);
SWAP(&i,&j);
printf("i=%d, j=%d\n",i,j);
return 0;
}
如下图:
切不可写成 void SWAP(int a, int b)!!!
#include <stdio.h>
//#define SWAP(a,b) {int t=a;a=b;b=t;}
void SWAP(int*a,int*b)
{
int t=*a;
*a=*b;
*b=t;
}
int main()
{
int i = 1;
int j = 2;
printf("i=%d, j=%d\n",i,j);
SWAP(&i,&j);
printf("i=%d, j=%d\n",i,j);
return 0;
}
如下图:
相关文章推荐
- 一个关于if else容易迷惑的问题
- 关于指针的一些事情
- 一道sql面试题附答案
- C# 超高面试题收集整理
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- 基于C语言fflush()函数的使用详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- 探讨register关键字在c语言和c++中的差异
- C中实现矩阵乘法的一种高效的方法
- c语言printf函数的使用详解
- C语言学籍管理系统源代码
- 浅析C语言中的sizeof
- c语言内存泄露示例解析
- 浅析C语言位域和位段
- 解析C语言中位字段内存分配的问题