代码
View Code
- 1#include 2 //头文件stdio
- 3 int main() //主函数部分
- 4 {
- 5 void swap(int * m, int * n); //对函数进行声明
- 6 int a,
- b; //定义两个整型变量a,b
- 7 int * p1,
- *p2; //定义两个指针变量*p1,*p2
- 8 scanf("%d,%d", &a, &b); //输入两个整形数据a,b
- 9 p1 = &a; //令指针p1指向a
- 10 p2 = &b; //令指针p2指向b
- 11 swap(p1, p2); //执行函数p1,p2
- 12 printf("%d,%d\n", *p1, *p2); //输出交换后的值
- 13
- return 0; //结束
- 14
- }
- 15 void swap(int * m, int * n) //swap函数部分
- 16
- /*函数名为swap;类型为空类型,即不返回函数值;形参为m和n的整型指针变量*/
- 17 {
- 18 int t; //定义变量t,作用为交换变量
- 19 t = *m; //将*m赋值给t
- 20 * m = *n; //将*n赋值给*m
- 21 * n = t; //将t赋值给*n
- 22
- }
运行结果
键入 1,5:
键入 10,12:
总结
t 的变量要为整型;
主函数开头需要对 swap 函数进行声明;
不要弄反 p1 和 p2 及 m 与 n;
指针变量中要用变量赋值,不要用地址赋值;
scanf 的形参表列加取址符;
来源: http://www.bubuko.com/infodetail-1990921.html