新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
講解一下C語言布爾類型
C語言就沒有真正的布爾類型,布爾類型實際上是用數(shù)值型(int,float,char等)表示的,不能自動打印為true或者false,只能自己寫代碼實現(xiàn)。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的柏鄉(xiāng)網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
C 語言標準(C89) 沒有定義布爾類型,如果你使用 true 和 false,會出現(xiàn)以下錯誤:
infinite.c:5:12: error: use of undeclared identifier 'true'
while (true) {
1 error generated.
make: *** [infinite] Error 1
我們可以借助 C 語言的宏定義來哦設(shè)置:
//宏定義布爾類型
#define BOOL int
#define TRUE 1
#define FALSE 0
//定義一個布爾變量
BOOL flag = FALSE;
也可以通過枚舉類來定義:
typedef enum
{
true=1, false=0
}bool;
實例
#include
//計算n!,n的值在main中定義
int main(void)
{
int n = 10; //計算疊乘數(shù)
int sum = 1; //用來存放疊乘的結(jié)果
typedef enum
{
true=1, false=0
}bool;
bool flag = false; //疊乘標記
int num = n; //循環(huán)次數(shù)
while( !flag )
{
sum = sum * (num--);
//當num=1時結(jié)束循環(huán)
if( num == 1)
{
flag = true;
}
}
printf ("%d的疊乘值為 %d \n", n, sum);
return 0;
}
輸出結(jié)果為:
10的疊乘值為 3628800
C99 還提供了一個頭文件 定義了 bool 代表 _Bool,true 代表 1,false 代表 0。只要導入 stdbool.h ,就能非常方便的操作布爾類型了。
實例
//導入 stdbool.h 來使用布爾類型
#include
#include
//計算n!,n的值在main中定義
int main(void)
{
int n = 10; //計算疊乘數(shù)
int sum = 1; //用來存放疊乘的結(jié)果
bool flag = false; //疊乘標記
int num = n; //循環(huán)次數(shù)
while( !flag )
{
sum = sum * (num--);
//當num=1時結(jié)束循環(huán)
if( num == 1)
{
flag = true;
}
}
printf ("%d的疊乘值為 %d \n", n, sum);
return 0;
}
輸出結(jié)果為:
10的疊乘值為 3628800
當前名稱:講解一下C語言布爾類型
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dphdgog.html


咨詢
建站咨詢
