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

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

热度:109   发布时间:2007-10-01 12:32:43.0
[求助]为什么会得到这样的结果?

main()
{
char *a;
a="hello, world";
printf(":%10s:\n",a);
printf(":%-10s:\n",a);
printf(":%20s:\n",a);
printf(":%-20s:\n",a);
printf(":%20.10s:\n",a);
printf(":%-20.10s:\n",a);
printf(":%.10s:\n",a);
printf("%s\n","very good");
}

输出:
:hello, world:
:hello, world:
:□□□□□□□□□hello, world:
:hello, world□□□□□□□□□:
:□□□□□□□□□□hello, worl:
:hello, worl□□□□□□□□□□:
:hello, worl:
very good


为什么输出的时候,第3段只有9个空格?
第5段的world成了worl?
和倒数第2段为什么会成了worl?
谢谢大虾们为小弟解决这个问题!
谢谢!~

搜索更多相关的解决方案: hello  printf  world  结果  

----------------解决方案--------------------------------------------------------

你的%20s就说明20字符输出
:□□□□□□□□□□hello, worl:空格都输出了,world就显示不出了,可以(":%21.10s:试试

----------------解决方案--------------------------------------------------------
强烈建议你去看一下.C书中的"格式输入与输出"这一节.书上关于这类的用法说得很清楚了!
----------------解决方案--------------------------------------------------------
不是先输出字符串吗?
再补足空格吗?
----------------解决方案--------------------------------------------------------
一个人站在门旁,门动了,人未动....
----------------解决方案--------------------------------------------------------

门未动,人未动,是你的心在动~


----------------解决方案--------------------------------------------------------
以下是引用coachard在2007-10-1 13:23:45的发言:

门未动,人未动,是你的心在动~

???你的意思是?


----------------解决方案--------------------------------------------------------

心动门即动,门随心动


----------------解决方案--------------------------------------------------------
来做做,我是旁听生
----------------解决方案--------------------------------------------------------
俺不在你们就都灌起水来了。

引用某人的话:都拖出去砍了!

----------------解决方案--------------------------------------------------------
  相关解决方案