电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
51系统使用可变参数“...”的问题
已解决
73482
个问题
已帮助
5993
位优秀工程师
51系统使用可变参数“...”的问题
wolf11111
2018-12-12
浏览量:724
学习自己构造可变参数的子函数使用“...”,做参数。知道是用堆栈传递函数的,但是在keil中仿真怎么都不行。用sizeof(*p)发现51单片机中指针变量的长度竟然是3字节,每次执行p++会让地址增加3个字节的地址,这样就没用办法使用“...”,来传递参数了,如何才能在51系统下使用类似printf这样的可变参数的子函数呢?
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
其他答案
数量:
5
drepa
如果p是指向char或者unsigned char的话那么sizeofp不应该是3而是1,这个指针本身就有问题。
发布于
2018-12-28
举报
评论 0
0
0
chen0000009
printf调用的是putchar这个函数,只要这个函数实现好了就行,你说的这个问题编译器可以解决的
发布于
2019-01-03
举报
评论 0
0
0
Kylo
你的这个是可以通过一个可变的字符,对你的字符用不同的长度来实现
发布于
2019-01-19
举报
评论 0
0
0
菜鸟冷虎
实际用的是一个不定长的指针传递,里面要先把数据长度获取才能传递参数
发布于
2019-01-21
举报
评论 0
0
0
木兮青鱼
里面都是有地址长度的参数的,里面就也是一个长度参数实现
发布于
2019-01-25
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
51系统使用可变参数“...”的问题
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: