一、swap代码

 #include<stdio.h>
int main() //主函数部分
{
void swap(int *m,int *n);
int a,b;
int *p1,*p2;
scanf("%d,%d",&a,&b);
p1=&a;
p2=&b;
swap(p1,p2);
printf("%d,%d\n",*p1,*p2);
return ;
}
void swap(int *m,int *n) //swap函数部分
{
int t;
t=*m;
*m=*n;
*n=t;
}
/*
第04行://对函数进行声明
第05行://定义两个整型变量
第06行://定义两个指针变量*p1,*p2 量
第07行://输入两个整形数据a,b
第08行://令指针p1指向a
第09行://令指针p2指向b
第10行://执行函数p1,p2
第11行://输出交换后的值
第12行://结束 第16行://定义变量t,作用为交换变量
第17行://将*m赋值给t
第18行://将*n赋值给*m
第19行://将t赋值给*n
*/

二、运行结果

键入1,5:

键入10,12:

三、注意事项和总结

1.t的变量要为整型;

主函数开头需要对swap函数进行声明;

不要弄反p1和p2及m与n;

指针变量中要用变量赋值,不要用地址赋值;

scanf的形参表列加取址符;

2.利用指针交换两个整型变量的值

把地址传递给swap函数

再用新的变量实现交换

作业二:构建swap函数的更多相关文章

  1. 作业二、comp和swap函数

    一.swap函数的代码及运行情况 1.代码 #include<stdio.h> int main() { void swap(int *m,int *n); int a,b; int *p ...

  2. day1作业二:多级菜单操作(函数实现)

    作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下 ...

  3. 自己写一个swap函数交换任意两个相同类型元素的值 对空指针的使用 字节大小的判断(二)了解原理

    验证的代码: #include <stdio.h> int main(){ char c = 'z'; ) + (c << ) + () + 'a'; printf(" ...

  4. C++学习笔记(二)——交换函数(swap)

    这次我们要透过一个简单的函数swap深入理解函数传参的本质以及在C++中如何选择传参方式. 先来看第一段程序: void swap(int x, int y) { int temp = y; y = ...

  5. c++ swap 函数

    转载地址 1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) { T ...

  6. [转]谈谈C++中的swap函数

    1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) { T c(a) ...

  7. [Effective C++ --025]考虑写出一个不抛异常的swap函数

    引言 在我的上一篇博客中,讲述了swap函数. 原本swap只是STL的一部分,而后成为异常安全性编程的脊柱,以及用来处理自我赋值可能性. 一.swap函数 标准库的swap函数如下: namespa ...

  8. [020]转--C++ swap函数

    原文来自:http://www.cnblogs.com/xloogson/p/3360847.html 1.C++最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符 template < ...

  9. EC读书笔记系列之13:条款25 考虑写出一个不抛异常的swap函数

    记住: ★当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定其不抛出异常 ★若你提供一个member swap,也该提供一个non-member swap来调用前者.对于cla ...

随机推荐

  1. WPF listbox实现多列显示数据

    一.每行显示固定列数 <ListBox ItemsSource="{Binding DataList}" Style="{DynamicResource ListB ...

  2. Postgresql插入或更新操作upsert

    幂等性的一个要求是多次操作的结果一致.对于update操作,多次直接的结果都是最后update的值,是满足需求的. 但对于insert,如果已经插入,第二次会报错,duplicate error, 主 ...

  3. CPU的系统总线

    主频:时钟频率,用来表示CPU的运算速度.主频=外频*倍频. 外频:基准频率,系统总线的工作频率,外频是CPU与主板之间同步运行的速度,大部分电脑系统中外频也是内存与主板之间同步运行的速度,在这种方式 ...

  4. Java代码调用服务器上的Shell脚本

    Java代码调用服务器上的Shell脚本 这里主要是因为我们报表平台有用到用户手工录入的数据作为结果数据且需要纳入saiku去展示 如我们所知,saiku不会自动刷新,所以需要在数据更新接口中调用服务 ...

  5. elment重置表格行高,hover效果

    来源网络,做个笔记.表头行高.el-table__header tr, .el-table__header th { padding: 0; height: 50px; }表体行高 .el-table ...

  6. git冲突解决的几种办法

    文章目录 git stash 栈 放弃本地修改 撤销分支 强行冲掉之前的分支 删除分支 git stash 栈 git stash git pull git stash pop 当pull出现冲突时 ...

  7. 表单传参,在action中的参数得不到

    写上面这个的时候,发现传过去的url路径是这样的 在action后面的pro=login得不到. 只需要将method中的get改成post就可以了

  8. “ORA-12154: TNS: 无法解析指定的连接标识符”错误解决办法

    某政府项目中用.Net网站连接Oracle数据库,web.config使用的连接字符串如下: <add key="connstring_ora" value="Us ...

  9. SharePoint Framework 基于团队的开发(三)

    博客地址:http://blog.csdn.net/FoxDave 用内部包进行开发 由于你的团队在开发客户端解决方案,你很可能构建通用代码库来在项目中重用.在很多情况下这种库包含的代码是内部所有的不 ...

  10. Mac下安装mongdb

    使用 homebrew 安装 MongoDB :brew install mongodb 这时 MongoDB 将被安装在 /usr/local/Cellar/mongodb/4.0.3_1 (我的 ...