在C语言中输出时:空格符与空字符有什么区别?

C语言教师及高人请进

1、字符不同

空格符和空字符是不一样的,在ASCII里面,空格(space)符号的ASCII码是32,而空字符是0,2个是完全不一样的2个字符。

2、作用不同

空字符一般来描述一个字符串的结尾,其实是控制符的一种,但不能理解为没有字符,应该理解为代表什么都没有的字符.好比回车0x0A和换行0x0D虽然不显示,但是也是控制字符的一种.(这些字符以前是用于打印机的,所以很多都没有用了)。

'\0'是一个“空操作”字符,它不做任何操作,只是一个标志。'\0'的代码值为0,它不计入串的长度。

3、显示方式不同

输出空格在屏幕上显示的是空格。但是输出空字符就没有显示。因为空字符是作为一个字符串的结束标志。换行(\n,ascii码:10)就是光标下移一行却不会移到这一行的开头,回车(\r,ascii码:13)就是回到当前行的开头却不向下移一行。

Enter键按下后会执行\n\r这样就是我们看到的一般意义的回车了,所以你用16进制文件查看方式看一个文本,就会在行尾发现"\n\r"。Tab(\t,ascii码:9)是制表符,作用是预留8个字符的显示宽度,用于对齐。

参考资料来源:百度百科—空字符串

参考资料来源:百度百科—空格符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13

    它们的关系就像 空气 和 真空 的区别;虽然都看不见,但是空气是存在的,真空却是什么都没有。

    空格符是存在的字符,只不过是打印了,看不见而已,ASCII是32。如果一连串的字符输出,就可以看到之间的空格区域了(就如同有风时,就可以感受到空气流动)。

    空字符就是什么都没有。连打印都不用。

第2个回答  推荐于2017-09-22
空格是有ASC值的,输出时占输入出位,如果你按数值输出一个空格的字符变量的话就会看到它的ASC码值。而空值的含义就是空的。本回答被提问者采纳
第3个回答  2009-01-09
空格符 ASCII 码 0x20
空字符 ASCII 码 0x00
第4个回答  2009-01-09
1L正解
相似回答