黑马程序员技术交流社区

标题: 求大神来解答 [打印本页]

作者: 大雕会飞    时间: 2015-11-18 23:24
标题: 求大神来解答
     main( )

    {printf(“\n*s1=%15s*”,“China”);

printf(“\n*s2=%-8s*”, “Shantou”);

}

A)*s1=China         *                     

      *s2=* *Shantou                                

     B)*s1=China         *

        *s2=Shantou*

     C)*s1=*China        *                     

      *s2=Shantou *                                 

     D)*s1=         China*

      *s2=Shantou *

答案:  D
为什么啊 ???)为什么不是
*s1=         China*

*s2=Shantou         *
作者: 正在输入中...    时间: 2015-11-18 23:58
我写了一个帖子,总结了一下你可以去看看:
http://bbs.itheima.com/thread-261543-1-1.html
如果还是找不到可以到我的帖子中找一下。
如果还有不明白的,也可以在帖子下面留言,只要有时间我肯定会解答的。
一起交流、一起学习。。
作者: hngdlll    时间: 2015-11-19 21:54
%-8s表示这个字符串总长度为8,符号表示向左对齐,不够的话右边补充空格。Shantou是7个字符,后面加个空格。在加*。
如果前面是+,表示想右对齐,不够的话左边补空格。
作者: mr.late    时间: 2015-11-19 22:03
%15s*这个输出是右对齐,15代表字符串宽度为15,“China”宽度只有5个,所以前面补10个空格;%-8s*有-号是左对齐,同理,在“Shantou”后面补1个空格。
作者: IPswhatb“is”    时间: 2015-11-19 22:32
好好学习,这不简单




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2