| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 283 人关注过本帖
标题:字符串的实际长度。
收藏  订阅  推荐  打印 
yuyangtian1000
Rank: 2
等级:注册会员
帖子:84
积分:1022
注册:2008-5-30
字符串的实际长度。

我看书中说在字符串后面要加'\0'。可是书中说\0不算在字符串的长度中。可是出错了
例如:
#include "stdio.h"
void main()
{
     char yu[3]="god";
     printf("%s\n",yu);
  getch();
}
得到的是乱码,除非减少一个字符。
搜索更多相关主题的帖子: 字符  长度  void  main  char  
2008-7-29 10:12
xiaomengxia2008
Rank: 2
等级:注册会员
帖子:80
积分:970
注册:2008-7-23

‘\0’是字符串的结束标记,不算作字符串的长度,但是在用字符串给数组赋值时,必须考虑到‘\0’也要保存到数组中。

所以由于采用了`\0'标志,所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。
2008-7-29 10:27
伤心的我
Rank: 2
等级:注册会员
帖子:82
积分:1034
注册:2008-5-24

鏅曚簡
2008-7-29 10:40
StarWing83
Rank: 12Rank: 12Rank: 12
来自:湖北工业大学
等级:版主
威望:9
帖子:2483
积分:26219
注册:2007-11-16

yuyangtian1000 在 2008-7-29 10:12 的发言:

我看书中说在字符串后面要加'\0'。可是书中说\0不算在字符串的长度中。可是出错了
例如:
#include "stdio.h"
void main()
{
     char yu[3]="god";
     printf("%s\n",yu);
  getch();
}
得到的是乱码, ...
字符串的长度,字符数组的大小,是两个不同的概念,字符串是个数据结构,字符数组是C语言的一种类型,字符数组作为字符串的容器,除了其大小必须比长度大以外,两者没有任何关系。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-7-29 11:27
大丈夫死了
Rank: 1
等级:新手上路
帖子:14
积分:270
注册:2008-7-15

char yu[3]="god";
2008-7-29 12:21
conantr
Rank: 1
等级:新手上路
帖子:7
积分:174
注册:2008-7-28

char yu[3]="god";这步错了,还有结束标志'\0'也在数组中,字符串的长度超过了数组长度
2008-7-29 13:28
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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