10.21_代码日记_c语言_交换函数
来源:互联网 发布:淘宝怎么上传不了图片 编辑:程序博客网 时间:2024/06/15 10:24
#include<stdio.h>void swap(char a,char b){ char t; if(a>b) t=a,a=b,b=t;}int main() { char a,b,c,t; while(scanf("%c%c%c",&a,&b,&c)) { swap(a,b); swap(b,c); swap(b,c); printf("%c %c %c\n",a,b,c); } return 0;}
我想运行交换函数时并不能实现,经过询问得知:
调用函数传进参数系统会在另一片内存将参数的值附进去,
在swap中交换的a,b只是值和原本相等,但并不是原本本身,
所以原本并不会发生什么变化,
即:函数并没有访问调用传递的实参本身,因而也不会修改实参的值。
为了验证,我添加了打印地址的语句:
#include<stdio.h>void swap(char a,char b){ char t; if(a>b) t=a,a=b,b=t; printf("%p%p\n",&a,&b);}int main() { char a,b,c,t; while(scanf("%c%c%c",&a,&b,&c)) { printf("%p%p\n",&a,&b); swap(a,b); swap(b,c); swap(b,c); printf("%c %c %c\n",a,b,c); } return 0;}
编译运行后结果如下:
注:出现后三行是由于调用了三次swap函数
阅读全文
0 0
- 10.21_代码日记_c语言_交换函数
- 黑马程序员_学习日记5_C#基础归纳总结之派生类的构造函数
- 黑马程序员_C语言_循环结构
- 黑马程序员_C语言_数组
- 黑马程序员_C语言_字符串
- 黑马程序员_C语言_指针
- 黑马程序员_C语言_数据类型总结
- 黑马程序员_C语言_预处理指令
- 北阳电子_C语言_面试试题
- 数据结构_多项式_C语言源代码
- 黑马程序员_C语言基础_指针
- 10/29/2017_C语言_三道题
- TCP通信_客户端代码_C++
- 备忘录_C++_拷贝构造函数
- 第三届_蓝桥杯_决赛_C语言组_1
- 单片机_C语言函数_中断函数(中断服务程序)
- 单片机_C语言函数_中断函数(中断服务程序)
- 单片机_C语言函数_中断函数(中断服务程序)
- JZ2440 第10章 系统时钟和定时器
- 工厂方法模式和抽巷工厂模式的区别
- Windows7下PHP、apache开发环境搭建
- <C++略识>之多重继承、多继承、虚继承的概念.
- 线程
- 10.21_代码日记_c语言_交换函数
- JAVA循环语句
- 请求网络工具类
- java 性能优化
- C语言——高效筛法求素数
- 嵌入式基础:不归零编码(Not Return to Zero, NRZ)
- C++之给定向量中4个元素的和等于给定值得向量和(16)---《那些奇怪的算法》
- 深度优先搜索 BFS
- JAVA中线程安全与非线程安全