C语言中的空格符与结束符之间的差异

        空格符' '和结束符'\0'是不一样的,在ASCII里面,空格(space)符号' '的ASCII码是0x20,而结束符'\0'是0x0, 两个字符是完全不一样的.

结束符      一般来描述一个字符串的结尾,其实是控制符的一种,但不能理解为没有字符,应该理解为代表什么都没有的字符.好比回车0x0A和换行0x0D虽然不显示,但是也是控制字符的一种.(这些字符以前是用于打印机的,所以很多都没有用了)在C语言的字符串操作中:字符串是指由若干个有效字符(其中包括字母、数字、转义字符、等)组成的系列,以'\0'作为字符串结束标志。'\0'是一个“空操作”字符,它不做任何操作,只是一个标志。'\0'的代码值为0,它不计入串的长度。但是在存储中需要占一个字节的内存空间的

空格符    是一种字符,代表的是字符中的空格而已,他的ASCII码值是0x20.     注意:在接受字符串的时候,如果用scanf来接收的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是harry potter 那么实际上scanf只能获取harry这个单词。所以要接收空格的话可以用gets()这个函数

 

你可能感兴趣的:(C/C++学习总结)