博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用swap函数交换两个整数
阅读量:6655 次
发布时间:2019-06-25

本文共 1286 字,大约阅读时间需要 4 分钟。

#include
//头文件 main() //主函数 { void swap(int *p,int *q); //声明 int a,b; //定义两个整数 int *p1,*p2; // 定义两个地址 scanf("%d,%d",&a,&b); //输入两个整数 p1=&a; //p1指向a p2=&b; // p2指向 b swap(p1,p2); //交换p1和p2 printf("%d,%d\n",a,b); //输出a,b的值 }void swap(int *p,int *q) //调用函数 { int k; //定义一个整数 k=*p; // 将*p的值赋给k *p=*q; //将*q的值赋给*p *q=k; //将k的值赋给*q }

 

1,22,1--------------------------------Process exited after 14.19 seconds with return value 0请按任意键继续. . .

 总结:swap函数用的不熟练,定义函数时总出错。

#include
void swap(int *p,int *q){ int *m;*m=*p; *p=*q; *q=*m; }

指针变量在使用的时候没有进行初始化,所以有可能指向是其他重要的数据。

#include
void swap(int *p,int *q){ int *m; m=p; p=q; q=m; }

在swap函数中只是对指针变量中的地址进行调换(&p和&q交换),而并没有影响到a,b的值。

#include
int main(){
int p1,p2;//定义整型int*p,*q,*c;//定义指针p=&p1;//p指向iq=&p2;//q指向jint*swap(int*a,int*b);//定义函数指针 ,让函数返回指针类型数据 scanf("%d,%d",p,q);c=swap(p,q);//将函数的返回值赋值给指针变量c printf("%d",*c);return 0; } int*swap(int*a,int*b) {
if(*a<*b) return b;//返回指针变量 else return a; }
1,22--------------------------------Process exited after 3.378 seconds with return value 0请按任意键继续. . .

 总结:指针运用是需要注意何时用&,注意将p指向i和q指向j。

转载于:https://www.cnblogs.com/qq1647367415/p/6601581.html

你可能感兴趣的文章
PHP5.5面向对象连接mysqli
查看>>
《CLR Via C# 第3版》笔记之(十二) - 事件
查看>>
设计模式学习起点 UML类图笔记
查看>>
索引使用注意
查看>>
Spring-Boot - 初步搭建
查看>>
SQL Server 触发器
查看>>
00.Web大前端时代之:HTML5+CSS3入门系列~Bug反馈文章
查看>>
设计模式之十:观察者模式(Observer)
查看>>
一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-在UI中应用DataUIMapper组件...
查看>>
Linux 内核进程管理之进程ID【转】
查看>>
Objective-C:随机的读取文件中的内容
查看>>
Linux命令大全
查看>>
观察者模式2
查看>>
[ACM_图论] Sorting Slides(挑选幻灯片,二分匹配,中等)
查看>>
[Java基础] Java线程复习笔记
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(22)-权限管理系统-模块导航制作
查看>>
GNU make manual 翻译( 一百五十九)
查看>>
Sqoop 产生背景(一)
查看>>
Firefox 里的 Vim(转)
查看>>
用Xamarin.Forms深入SkiaSharp
查看>>