当前位置: 代码迷 >> C语言 >> [求助]为什么会得到这样的结果?
  详细解决方案

[求助]为什么会得到这样的结果?

热度:237   发布时间:2007-10-01 13:32:31.0

心动门未动,门动心未动!门动?心动?


----------------解决方案--------------------------------------------------------
建议你把书上的内容认真看一下,这是输出的格式的问题.书上会说的很清楚的.
----------------解决方案--------------------------------------------------------
我晕.这么简单的题,你也太笨了吧~!
先说第三段~
应输出全字符,并且有20s\n,则应输出20-原字符数(11)
再说第五行
%20.10s\N,应输出10个字符,补足10个字空格,因为无-,则左补
再说倒2:
printf(":%.10s:\n",a);应输出10个字符
----------------解决方案--------------------------------------------------------
有没人给个比较切题的解释?
----------------解决方案--------------------------------------------------------

刚翻了书查了查,
%10s 当字符串长度大于10时,按原样输出,小于时,左端补空格;
%.10s 只取10个字符;
"hello,world"总共有11个字符,其中包括10个字母和一个逗号,自己算吧,哪里出问题了。


----------------解决方案--------------------------------------------------------
基本明白.!~~
谢谢楼上的解释!~
----------------解决方案--------------------------------------------------------
去MSDN查查printf的格式串的意义就OK了




by 雨中飞燕 QQ:78803110 C/C++讨论群:5305909
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------
产生所有这些问题的原因在于你没有弄清楚"hello,world"这个字符串占多少列,是11列而不是10列,因为它还有一个标点符号,
----------------解决方案--------------------------------------------------------
  相关解决方案