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

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


咨詢
建站咨詢
