用keil5进行STM32项目开发时,那些让人摸不着头脑的程序

2023-05-27 0 499

一、难题叙述

才刚在展开STM32合作开发时看见录于十分让人不认知的标识符,接着我去查了呵呵,辨认出十分有意思,在这撷取给他们一同自学。

标识符如图1右图,当中记号序号的边楼是难题标识符。假如你也不认知,所以接下去就让我来详尽的给他们如是说呵呵。

用keil5进行STM32项目开发时,那些让人摸不着头脑的程序

图1.难题标识符

二、如是说

拉沙泰格赖厄县句子中1、3只不过是C国际标准库里头的宏表达式,2是C库表达式,它的技术国际标准文件格式如下表所示右图:

1、void va_start(va_list ap, last_arg)

促进作用是调用ap表达式,它要va_argva_end宏协力采用。last_arg是最终两个传达给表达式的未知的一般来说模块,是图中第44行第一行以后的模块“fmt”。

那个宏要在采用va_argva_end以后被调用。

2、int vsprintf(char *str, const char *format, va_list arg)

采用模块条目推送序列化输入到数组

3、void va_end(va_list ap)

容许采用了 va_start 宏的暗含气门模块的表达式回到。假如他们在回到以后在表达式里没调用 va_end,所以就会再次出现enum的结论。

是不是已经蒙了???没关系,上面的都不重要,给你个例子立马明白。

#include#includechar buf[80];int func_print(char *format, …)va_list aptr;int ret;va_start(aptr, format);ret = vsprintf(buf, format, aptr);va_end(aptr);return(ret);int main()int i = 5;float f = 27.0;char s[50] = “haha”;func_print(“%d %f %s”, i, f, s);printf(“%s\n”, buf);return(0);

找个在线C编译器试呵呵,结论如图2

用keil5进行STM32项目开发时,那些让人摸不着头脑的程序

图2

输入结论为:5 27.000000 haha

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务