首页 > 其他 > 详细

简单说一下printf("%*s%s",xx,xx,xx);或printf("%*s\n",xx,xx);

时间:2014-08-07 18:09:32      阅读:283      评论:0      收藏:0      [点我收藏+]

大家还记得这个例子吗

  1 #include "public.h"
  2 
  3 int main()
  4 {
  5     int a=4;
  6     printf("%4d\n",a);
  7     return 0;
  8 }

这个输出结果为:

    4

前面有三个空格

这里的printf("%*s",1,2)和它类似

"*"表示的是占多少位置

第一个s表示的是字符串

第一个参数是占多少位,第二个参数为字符串,两个结合起来的意思就是字符串占多少位,如果不够那么多位左边用空格来补齐.可能我说的不是太明白,下面用代码来说明吧.

  1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5     char *s="12345";
  6     char ss=a;
  7     printf("%*s\n",10,s);
  8     printf("%*c\n",4,ss);
  9 }

###gcc text.c
###./a.out 
     12345
   a
###

大家可以看到12345前面有五个空格,加上12345总的有10位,a前面有三个空格,加上a总的有四位.

简单说一下printf("%*s%s",xx,xx,xx);或printf("%*s\n",xx,xx);,布布扣,bubuko.com

简单说一下printf("%*s%s",xx,xx,xx);或printf("%*s\n",xx,xx);

原文:http://www.cnblogs.com/linuxnewbie/p/3897487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!