swap函数交换 指针
Posted 宿辞白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swap函数交换 指针相关的知识,希望对你有一定的参考价值。
1.
#include<stdio.h> #include<stdlib.h> void swap(int *p,int *q)//建立swap函数,定义两个指针,并把两个指针的地址交换 { int x=*p; *p=*q; *q=x; return; } main() { int m,n;//定义两个变量 printf("请输入两个数,m,n\\n");//输入两个数 scanf("%d,%d",&m,&n); swap(&m,&n);//交换 printf("%d,%d\\n",m,n);//输出 system("pause"); }
2.程序是错误的,*m的地址是随机的,没有确定值,所以不可
3.
程序没有错误却无法交换,因为之前都是指针,最后交换的时候却是整型,两个指针的地址没有交换,所以不能。
4.
#include<stdio.h> #include<stdlib.h> int comp(int *p,int *q) { if(*p>*q) return *p; else return *q; } main() { int m,n,*a,*b; scanf("%d,%d",&m,&n); a=&m; b=&n; printf("max=%d\\n",comp(a,b)); system("pause"); }
总结
最开始看到问题我还是很懵,但是通过查找资料和看别人的理解慢慢搞明白了,也许说的不太清楚但我自己已经知道是什么意思了,有很多次错误,最后一个程序调试过很多次,还是不熟练,要多加练习。
以上是关于swap函数交换 指针的主要内容,如果未能解决你的问题,请参考以下文章
自己写一个swap函数交换任意两个相同元素值 对空指针的使用 字节大小的判断