| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7786 人关注过本帖
标题:c语言中字符串空字符输出打印问题?
只看楼主 加入收藏
慕牧羊
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-4-18
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
c语言中字符串空字符输出打印问题?
字符串是以空字符结束的,请问为什么用printf函数打印出来的内容里面没有将空字符打印出来呢?
搜索更多相关主题的帖子: c语言 字符 字符串 输出 打印 
2018-06-05 20:12
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:4 
是字符串的结束标志,不算是字串的字符吧
2018-06-05 20:21
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:5 
空格符号和空字符是不一样的,在ASCII里面,空格(space)符号的ASCII码是0x20,而空字符是0x0, 2个是完全不一样的2个字符.
空字符  一般来描述一个字符串的结尾,其实是控制符的一种,但不能理解为没有字符,应该理解为代表什么都没有的字符.好比回车0x0A和换行0x0D虽然不显示,但是也是控制字符的一种.(这些字符以前是用于打印机的,所以很多都没有用了)
字符串的概念:在C语言中,字符串是指由若干个有效字符(其中包括字母、数字、转义字符、等)组成的系列,以'\0'作为字符串结束标志。'\0'是一个“空操作”字符,它不做任何操作,只是一个标志。'\0'的代码值为0,它不计入串的长度。

     还有这里需要注意下在接受字符串的时候,如果用scanf来接收的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是harry potter 那么实际上scanf只能获取harry这个单词。所以要接收空格的话可以用gets()这个函数。
2018-06-05 20:39
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:1 
printf就是这样设计的 不打印空字符
一个if发现空字符就停止输出

再说空字符本来就不是可显示字符 打印空字符 要打印什么东西?

最后 从实际使用的角度
你好 慕先生[空字符]
欢迎光临[空字符]

你不觉得这很傻吗
空字符在实际使用中本来就没准备要显示出来

https://zh.
2018-06-05 20:54
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:1 
回复 3楼 自学的数学
好像0x0d(13)回车,0x0a(10)换行
2018-06-05 20:55
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
如何知道你打了空字符的呢?如果空字符在末尾,“有人吗?       ”,是体现不出来的,但是如果空字符不在末尾,“有        吗?”,是能体现不出来的。
2018-06-05 21:00
快速回复:c语言中字符串空字符输出打印问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039285 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved