| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 907 人关注过本帖
标题:关于C语言中printf()的简单实现,不用va_list
只看楼主 加入收藏
天霁
Rank: 2
等 级:论坛游民
帖 子:33
专家分:18
注 册:2015-7-17
结帖率:83.33%
  问题点数:0  回复次数:0   
关于C语言中printf()的简单实现,不用va_list
按照我的理解,假设printf实际输入的参数有4个,printf(char* format,arg1,arg2,arg3,arg4);

这些参数在内存中从低地址到高地址依次为format,arg1,arg2,arg3,arg4。

因为format是指针,所以所占的字节大小为一个int的大小。

所以如果我们找到format的储存地址,从format首地址开始,加上一个int的大小,此时地址刚好就是参数arg1的首地址,然后再加上sizeof(arg1),此时地址又刚好是arg2的首地址,这样我们就能依次找出参数所在地址。
  可我写的初步程序运行的时候结果与期望不同呢?,哪位老哥看看呗
附件: 您没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: printf 参数 format 地址 大小 
【推荐】大型监控、工控、组态VC++./C#源码组件库2019下载!
【推荐】超50万数控、建模仿真、电力VC++/.NET图形源码库下载!
【推荐】专业CAD\GIS\业务流程VC++/C#可视化图形软件源码库下载!
2017-10-19 23:50
快速回复:关于C语言中printf()的简单实现,不用va_list
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.089104 second(s), 9 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved