?
???? 空格符和空字符是不一樣的,在ASCII里面,空格(space)符號的ASCII碼是32,而空字符是0, 2個是完全不一樣的2個字符
??????? 空字符 一般來描述一個字符串的結尾,其實是控制符的一種,但不能理解為沒有字符,應該理解為代表什么都沒有的字符.好比回車0x0A和換行0x0D雖然不顯示,但是也是控制字符的一種.(這些字符以前是用于打印機的,所以很多都沒有用了)
?
??????? 字符串的概念:在C語言中,字符串是指由若干個有效字符(其中包括字母、數字、轉義字符、等)組成的系列,以'\0'作為字符串結束標志。'\0'是一個“空操作”字符,它不做任何操作,只是一個標志。'\0'的代碼值為0,它不計入串的長度。
注意:
??????? 下在接受字符串的時候,如果用scanf來接收的話,字符串中不能含有空格,否則將以空格作為串的結束符。如果你鍵入得是harry potter 那么實際上scanf只能獲取harry這個單詞。所以要接收空格的話可以用gets()這個函數。
?
C語言中輸出空字符與輸出空格有區別嗎?
輸出空格在屏幕上顯示的是空格。但是輸出空字符就沒有顯示。因為空字符是作為一個字符串的結束標志。
?
????? 換行(\n,ascii碼:10)就是光標下移一行卻不會移到這一行的開頭,回車(\r,ascii碼:13)就是回到當前行的開頭卻不向下移一行。
????? Enter鍵按下后會執行\n\r這樣就是我們看到的一般意義的回車了,所以你用16進制文件查看方式看一個文本,就會在行尾發現"\n\r"。
??????? Tab(\t,ascii碼:9)是制表符,作用是預留8個字符的顯示寬度,用于對齊。
?