| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 147 人关注过本帖
标题:为什么输出会是这样的结果?
收藏  订阅  推荐  打印 
封闭
Rank: 3Rank: 3
等级:中级会员
帖子:238
积分:2576
注册:2007-9-14
为什么输出会是这样的结果?

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?
谢谢大虾们为小弟解决这个问题!
谢谢!~
2007-9-30 16:17
kerr
Rank: 3Rank: 3
等级:中级会员
帖子:187
积分:2060
注册:2007-9-30

char *a;
这个A不是字符吗?只是一个字符,你那字符串..
你用啥IDE?你打算写啥语言?

天下风云出我,辈一入江湖岁月催.皇途霸业谈笑中,不盛人生
2007-9-30 17:27
封闭
Rank: 3Rank: 3
等级:中级会员
帖子:238
积分:2576
注册:2007-9-14

我是C的初学者.
我用的是Win-TC.
char *a是字符串
2007-9-30 22:43
lm168
Rank: 1
等级:新手上路
帖子:11
积分:210
注册:2007-9-16

和“%s”有关
20,10 表示输出10个字符并且右对齐

2007-10-2 16:07
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.116356 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved