關於Linux下C語言編譯器gcc不認識bool類型的問題

來源:互聯網
上載者:User
這幾天在學習Linux下的C語言開發。今天要寫一個取1到100之間質數的題。可是,當我用bool類型定義變數b,來標記一個數是否為質數時,編譯出錯。錯誤資訊顯示如下:

     'bool' undeclared (first use in this function)
     (Each undeclared identifier is reported only once
     for each function it appears in.)

  在Google在搜了半天,也沒不明白。後來,只得請求高手。得到回複,總結於下:

  C語言(或C++)裡本身沒有bool這種布爾類型。有些編譯器可以識別,那也是因為編譯器自己定義了bool類型,比如:#define bool int。

  C語言裡,一般用整型變數來實現布爾型變數的功能。當用條件陳述式,如if,進行判斷時,值為0時返回false,其它都返回true。

_Bool是C99的標準,TC3裡肯定沒有 
bool TC3也不認識 

你可以自己枚舉一個enum BOOL {FALSE = 0,TRUE = !FALSE};
http://blog.chinaunix.net/u1/35421/showart_335266.html
當然用gcc(4.2.4)編譯出錯,用g++是可以通過的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.