在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在官方的文档中是这样备注DBGPRINTF Prototype void dbgprintf(const char *pszFormat,...);
Description This function is used to output debugging information. Since this function may be implemented in different ways on different platforms, care must be taken with this function to get useful results. Parameters pszFormat
[]: printf-style format-control string --------- 所以DBGPRINTF中的pszFormat直接参照printf()即可: ------------------------------------------------------------------------------------------------------------------
1.调用格式为 printf("<格式化字符串>", <参量表>); 2.格式化字符 %d
十进制有符号整数
int a=1234; printf("a=%d\n",a); //a=1234 printf("a=%2d\n",a); //a=1234 超过2位,按实际输出 printf("a=%6d\n",a); //a= 1234 不足6位,右对齐 printf("a=%06d\n",a); //a=001234 不足6位,前面补0 printf("a=%-6d\n",a); //a=1234 '-'左对齐 int* i=&a; printf("i=%p\n",i); //i=0012FF44 输出指针的值,即地址 float m=8888.8888; //float 单精度型浮点数 有效位数是6位或7位,根据不同的浮点数会有不同 float m1=8888.8888f; //在后面加上f或F,编译警告:truncation from'const double'to 'float' //编译器默认浮点数为double float m2=8888.888f; double n=8888.8888; double n1=8888888888.88888888; //double 双精度型浮点数 有效位数是15位 printf("m=%f\n m1=%f\n m2=%f\n n=%lf\n n1=%f\n",m,m1,m2,n,n1); // m=8888.888672 // m1=8888.888672 // m2=8888.887695 // n=8888.888800 // n1=8888888888.888889 //%f的默认输出小数位数就是6位不管有没有l /*printf的%f说明符的确既可以输出float型又可以输出 double型。 根据"默认参数提升"规则(在printf这样的函数的 可变参数列表中 ,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到 双精度数。严格地讲,%lf在printf下是未定义的,但是很多系统可能会接受它。要确保可移植性,就要坚持使用%f。*/ printf("m4=%4.2f\n",m); //宽度总共4位,小数两位,小数点一位,整数一位,这里整数超过宽度规定,按实际整数位输出 printf("m5=%9.6f\n",m); //浮点数小数部分不足6位,右对齐 printf("m6=%9.2f\n",m); //整数部分不足6位,右对齐;小数部分超过2位,四舍五入 char c[20]="Hello,world!"; printf("c=%s\n",c); printf("c=%6.9s\n",c); //c=Hello,wor 6.9s表示输出一个长度长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论