


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言中关于地址作返回值以及printf的缓冲刷新问题程序源码:#includechar * itoa(unsigned int count)char s32;char *t;char hex = 0123456789ABCDEF;int i,j=0,length = 0;char tmp;t = s;while(count)i = count % 10;sj = hexi;j+;count = count /10;sj = 0;while(*t)t+;length+;t-;for(i = 0 ;i length /2;i+)/printf(%c=%d=%cn,si,i,*t);tmp = si;si = *t;*t = tmp;t-;t = s;printf(%sn%sn,t,s);return t;int main()unsigned int i = 12345;char * sh = itoa(i);printf(%s,sh);以上代码是整形转化成字符型,不要问我为什么不用c库函数,因为我写的是裸机用的,不要问我为什么不申请堆,因为我写的是裸机用的。好上述代码的思想上是没有问题的,就是通过不断除以10取余数进行赋值,然后进行字符串的倒序。最终完成了指针t或者s,返回,调用,打印。下面是结果:意思是说调用之前可以打印,说明字符指针是创建对了,但是调用的时候出现乱码,于是笔者进行了各种常识。最终找到错误所在。分析如下:子函数被调用的时候,在子函数的局部变量会在函数执行之后被销毁。所以返回值是没有的。所以不会打印东西。但是为什么还能打印一部分呢?这就涉及到另一个问题:printf的缓冲刷新问题。看下面两个程序:程序1:Int main()Printf(“aaa”);While(1);程序2:Int main()Printf(“aaan”);While(1);两个程序执行结果不同,第一个没有打印aaa,第二个打印了aaaprintf只有当缓冲区满
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省福州第四中学2026届高一化学第一学期期末复习检测模拟试题含解析
- 桥梁专业知识培训课件
- 2026届河北省巨鹿中学高一化学第一学期期末监测模拟试题含解析
- 2025年机关事务管理面试宝典门诊部岗位面试模拟题及解析
- 2025年徐州市中考生物试题卷(含答案及解析)
- 2025江苏高校大学《辅导员》招聘考试题库及答案
- 2025年初级摄影课程学员面试题
- 2025年度注册验船师资格考试船舶检验法律法规考前冲刺模拟题及答案(网页版)
- 2025年验船师考试(C级船舶检验专业实务)考前模拟试题及答案二
- 北京市门头沟区2024-2025学年八年级上学期第二次月考生物考试题目及答案
- 陕西省特种设备隐患排查清单(2025年)
- 货款转让协议书
- 2025年内蒙古鄂尔多斯一中高考生物倒计时模拟卷含解析
- 2025CACA子宫颈癌诊疗指南解读
- 绿色建筑概论 课件全套 第1-11章 绿色建筑概述-绿色建筑运营与维护
- 2025医务人员手卫生规范
- 医务人员行为规范
- 光伏电站安全培训
- GB/T 35267.4-2025清洗消毒器第4部分:内镜清洗消毒器
- 职工安置方案模板
- DB45T 1056-2014 土地整治工程 第2部分:质量检验与评定规程
评论
0/150
提交评论