C语言 格式输出 printf("y=%-8ld\n",y); 与printf("y=%-08ld\n",y); printf(&qu

C语言 格式输出 printf("y=%-8ld\n",y); 与printf("y=%-08ld\n",y); printf("y=%-8ld\n",y);
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);

输出上有什么区别 特别是 "-08" "+8" "08" 都代表什么?

我主要是不明白 “08” 中的0是什么意思 还有 为什么“08”和“+08” 输出结果的格式不一样?? “+8” 输出结果前面要带两个空格

先细化下这个问题,附上示例代码:

#include <stdio.h>

int main(int argc, char *argv[])

{

 long int y=11111;

    printf("y=%-8ld\n",y) ;

    printf("y=%-08ld\n",y); 

    printf("y=%08ld\n",y); 

 printf("y=%8ld\n",y); 

    printf("y=%+8ld\n",y);

 return 0;

}

//-----------------------------------------

再附上执行结果

//-----------------------------------------

1),%-8ld,表示y长度为8位,不够的部分在后面补空格。这和%8ld相对,即在前面补空格;

2), 在1)的基础上加上0表示不够部分补零(和1) 所述情况对应)

3),  %+8ld并不是神马特殊情况,只不过是在这段串中加了个  +  //+ 也用来补空格了、、

温馨提示:答案为网友推荐,仅供参考
大家正在搜