printf字符串输出固定长度
#include <stdio.h>
void main()
{
charstr[20] = "abcdefg";
double n = 10.1234567;
printf("%.3s /n", str);
printf("%.3f /n", n);
}
输出:abc
10.123
下⾯对printf中的%.M输出做⼀下简单的分析,在printf的定义中,回解析所有的字符有⾃⼰的协议栈来分析format的参数,其中, /* ⼀下内容来⾃output.c-------------------------------------------------------
while ((ch = *format++) != _T('/0') && charsout >= 0) {
chclass = find_char_class(ch); /* find character class */
state = find_next_state(chclass, state); /* find next state */
/* execute code for each state */
switch (state) {
printf怎么输出字符......
case ST_DOT:
/* zero the precision, since dot with no number means 0
not default, according to ANSI */
precision = 0;
break;
--------------------------------------------------------------*/
就如代码中所说的,如果⼩数点后⾯不是数字,则按照ANSI标准来格式化后⾯的输出,来⽐较输出的长度

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。