2013-12-17 35 views
1

我想在C語言中使用布爾布爾在C語言函數

首先我看到C++

int maximum(int state, **bool choose**); 

然後

new_state = maximum(now_State, **true**); 

我該使用布爾C語言:

#define true 1 
#define false 0 

typedef int boolean; 
boolean choose = false ; 

但我不知道如何設置這樣的函數(C++)。

int maximum(int state, **bool choose**); 

new_state = maximum(now_State, **true**); 

我是外國人。如果你不明白,請告訴我。

+0

無論C++和C有一個內置'bool'類型。對於C,它被稱爲'_Bool',但是如果你包含'#include ',那麼你可以使用'bool'。 – Simple

+0

「但我不知道如何設置這樣的函數(C++)。」 - 我不明白這一點。 「設置功能」是什麼意思?例如 – 2013-12-17 11:00:10

+0

int maximum(int state,bool choose); 布爾沒有C語言。 所以,int maximum(int state,xxxxxx);我如何改變。 –

回答

6

要使用布爾類型C99提供了<stdbool.h>標題。這個頭部提供了一個宏bool。該標題還包含分別代表10的標題truefalse

+1

更重要的是它是一個合適的布爾類型。所以'bool k = 2;如果(k == true)'會按預期工作 – doynax

+0

@doynax:好吧,'true'是一個擴展爲'1'的宏,'false'擴展爲'0',所以定義'typedef int bool'和' #define true 1'不是_that_不同的 –

+0

在Visual C++ 2010中沒有

2

我會建議使用枚舉:

#include <stdio.h> 

typedef enum { false, true } bool; 

int main() { 
    bool x = false; 
    if(x != true) 
     printf("x=%d\n",x); 
}