C语言中字符串的\0和空格

   \0 为字符串结束符,比如说:

                      abcd (空格)cdefg;

存入数组时,空格作为一个字符占有一个字节的空间,我们可以把它看着一个字符去处理。而“\0 ” 则是这个字符串的结束标识符,也占有一个字节的空间,表示字符串结束!

char a[]={'a','b','c','d', ,'c','d','e','f','g','\0'}

'a'

'b'

'c'

'd'

' '

'c'

'd'

'e'

'f'

'g'

'\0'

 

附:如果用scanf来接收字符串的话,字符串中不能含有空格,否则将以空格作为串的结束符。如果你键入得是hello world 那么实际上scanf只能获取hello 这个单词。所以要接收空格的话可以用gets()这个函数。gets(str)是读入一串以回车结束的字符,顺序存入到以str为首地址的内存单元中,最后写入字符串结束标志 “\0 “,

      同样在输出字符串时要用puts(),输出时直到遇到 \0 为止,最后输出一个换行符

你可能感兴趣的:(c)