C語言中空格符、Null 字元、字元數組結束符、換行、斷行符號的區別

來源:互聯網
上載者:User
      空格符和Null 字元是不一樣的,在ASCII裡面,空格(space)符號的ASCII碼是32,而Null 字元是0, 2個是完全不一樣的2個字元

        Null 字元 一般來描述一個字串的結尾,其實是控制符的一種,但不能理解為沒有字元,應該理解為代表什麼都沒有的字元.好比斷行符號0x0A和換行0x0D雖然不顯示,但是也是控制字元的一種.(這些字元以前是用於印表機的,所以很多都沒有用了)

 

        字串的概念:在C語言中,字串是指由若干個有效字元(其中包括字母、數字、逸出字元、等)組成的系列,以'\0'作為字串結束標誌。'\0'是一個“空操作”字元,它不做任何操作,只是一個標誌。'\0'的代碼值為0,它不計入串的長度。


注意:

        下在接受字串的時候,如果用scanf來接收的話,字串中不能含有空格,否則將以空格作為串的結束符。如果你鍵入得是harry potter 那麼實際上scanf只能擷取harry這個單詞。所以要接收空格的話可以用gets()這個函數。

 

C語言中輸出Null 字元與輸出空格有區別嗎?

           輸出空格在螢幕上顯示的是空格。但是輸出Null 字元就沒有顯示。因為空白字元是作為一個字串的結束標誌。

 

      換行(\n,ascii碼:10)就是游標下移一行卻不會移到這一行的開頭,斷行符號(\r,ascii碼:13)就是回到當前行的開頭卻不向下移一行。

      Enter鍵按下後會執行\n\r這樣就是我們看到的一般意義的斷行符號了,所以你用16進位檔案查看方式看一個文本,就會在行尾發現"\n\r"。

        Tab(\t,ascii碼:9)是定位字元,作用是預留8個字元的顯示寬度,用於對齊。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.