C 裡bool變數如不初始化的話預設值是什麼

時間 2021-05-05 23:25:04

1樓:鞠暄婷惠新

c++裡變數未初始化的預設值要看變數的儲存型別。一般來說區域性變數未初始化,其預設值不確定,全域性變數未初始化時,預設值一般為為。比如

bool g_a; //全域性變數預設初始化為false 即0

void f()

bool型別預設值是多少

2樓:匿名使用者

0,也就是false

c++如何定義布林型陣列使其初始值為true?

3樓:du瓶邪

一個陣列,預設值是0,在vb中,規定0就是false。

除了遍歷和記憶體複製,沒有其它方法。

可以反過來考慮。

比如,一個布林變數not_running,初始值應該=true,某個過程執行時置為false。

if not_running then......

end if

完全可以設定布林變數running:初始值應該=false,某個過程執行時置為true

if not running then......

end if

4樓:

這裡以一維陣列為例做解答,

方法一:

const int arr_size = 5; // 假設陣列有5個布林值

bool *var = new bool[arr_size];

for (int i = 0; i < arr_size; i++)// 在這裡寫你的**

delete var;

方法二:

bool var = ;

// 在這裡寫你的**

5樓:淚之夢幻

假設你的陣列名為array,則方法如下:

1.輸入meboolmset(array,false,sizeof(array))或者memset(array,0,sizeof(array));;將其全部初始化為false.

2.按照需要對陣列元素需要改正的進行變更為ture的操作。

注意:需要包含標頭檔案#include

6樓:匿名使用者

學好函式我想就沒那麼難了吧

7樓:時空魔法

bool arr[10] = ;

大括號裡面的資料,填0 為假,非0為真。 大括號裡面的陣列個數小於陣列大小。也為假

8樓:匿名使用者

#define max 10000

bool a[max];

memset(a,true,sizeof(bool));

memset(a,true,max);也對

9樓:匿名使用者

定義類然後建構函式過載?

10樓:匿名使用者

bool a[10]= ;這樣不行嗎

11樓:謝興橋

vectorb(10,true);

12樓:匿名使用者

#define n 10000

bool a[n]=;

13樓:匿名使用者

bool a[100];

for(int i=0;i<100;i++)a[i]=true;

c++裡面的bool是什麼意思

14樓:幻夢·人生

bool表示布林型變數,也就是邏輯型變數的定義符,以英國數學家、布林代數的奠基人喬治·布林(george boole)命名。

在c++語言中,有以下幾種基本型別:

其中bool型別僅有兩個值:true和false,中文稱:真值和假值。

一般bool值被用於條件表示式的判斷。例如:

bool isweekend;

// 此處省略isweekend的計算過程if (isweekend == true)printf("today is weekend!");

上面**中,isweekend就是bool值。為真值時,表示今天是週末。為假值時,表示今天不是週末。

15樓:和尚

bool是一種型別,他有兩個值,true和false。

true表示真,false表示假

c++中怎樣將bool型的陣列初始化?

16樓:匿名使用者

方法如下:

1.輸入memset(array,0,sizeof(array));

2.標頭檔案是#include;最好輸入meboolmset(array,false,sizeof(array));全部初始化為false。

3.bool定義的變數不是false就是true而用0和1不好。

c++中bool變數 如何取反

17樓:yesyes科

3、然後在編輯器中建立兩個字元型變數x,y。

4、接著使用cout和cin語句,輸入一個運算元,儲存在變數x中。

5、將獲取的這個運算元進行按位取反運算,這裡使用~表示按位取反運算子號。

6、就可以執行該程式了,輸入一個數字,進行按位取反運算程式測試。

18樓:逆光薄荷貓

i++其實也是有賦值的,首先把i給暫存器再把i自增1。++i才是沒有賦值的,而且有無賦值其實不重要,不會對你的程式效率有任何影響。這又不是20世紀初剛發明的計算機,多關心演算法和資料結構不要整天鑽牛角尖。

19樓:幽雅奶茶

這根本沒有類比性,只能這樣實現。如果嫌麻煩,在開頭#define一下就好了:#define opstarted started = !started; 不要丟掉分號,只能用大寫

20樓:匿名使用者

題主的思維就是:我不要你覺得,我要我覺得

你不要賦值語句,那自己建立一個程式語言吧(攤手

21樓:沙支誇依

暈!。。。

bool量取反,不賦值是不可能的。

c語言也不是萬能語言啊,彙編都做不到的c語言當然也做不到。

i=i+1之所以能寫成i++;人家是有彙編指令做基礎的。

add i,1在彙編可以優化成inc i; 所以c語言i=i+1可以寫成i++;

而bool量取反在彙編裡最優化也要一組彙編指令來完成。不信你自己反彙編!started看看,可不是簡單的_asm not i;就可以搞定的,bool量取反是要判斷的。

22樓:匿名使用者

started ^= true;

不過看彙編**沒啥區別

23樓:匿名使用者

if (!started)

c++中 定義了個bool型的 未給值 直接cout怎麼會是204的?

24樓:匿名使用者

debug模式下為初始化的區域性變數會被用0xcc也就是204填充

25樓:匿名使用者

變數名用來指定記憶體單元。如果你在定義了變數後,沒有付初值,那麼,變數所代表的記憶體單元裡的值(不知道是什麼)並沒有改變。

26樓:匿名使用者

c++中,宣告一個變數其實是在記憶體空間中給這個變數分配了一塊空間,如果不賦值的話,那麼原來那個空間的值就沒有被改變,所以,你輸出這個變數時,就是原來記憶體空間裡的值.

27樓:濱崎步最愛

不太清楚,這個大概和編譯器有關吧,在我這裡不管定義多少個bool型,未賦值輸出結果都是1;

c++語言中bool是什麼意思?

28樓:匿名使用者

bool就是布林的意思,布林值的返回值只有真(true)和假(false),多用於判斷。

在c語言中,關係運算和邏輯運算的結果有兩種,真和假:0表示假,非0表示真。例如:

#include

intmain(){

inta,b,flag;

scanf("%d %d", &a, &b);

flag = a > b; //flag儲存關係運算結果printf("flag=%d\n",flag);

return0;

}執行結果:

1020↙

flag=0

c語言並沒有徹底從語法上支援「真」和「假」,只是用0和非0來代表。這點在c++中得到了改善,c++新增了bool型別(布林型別),它一般佔用1個位元組長度。bool型別只有兩個取值,true和false:

true表示「真」,false表示「假」。

29樓:匿名使用者

c語言中bool表示布林型變數。

bool布林型變數,也就是邏輯型變數的定義符,以英國數學家、布林代數的奠基人喬治·布林(george boole)命名。bool類似於float,double等,只不過float定義浮點型,double定義雙精度浮點型。 

布林型變數bool的值只有真(true) 和假(false)。布林型變數可用於邏輯表示式,也就是「或」「與」「非」之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。

bool可用於定義函式型別為布林型,函式裡可以有 return true; return false 之類的語句。

30樓:匿名使用者

bool是布林值,它只有兩個值,一個是真,一個是假;

或者說一個是true,一個是false ;

《這個是左移的意思,>>這個是右移;

如果是<<2就是左移2位的意思,0111 1100 左移兩位是1111 0000

31樓:匿名使用者

bool 布林值.即yes or no 判斷型別..你懂吧int float double char 這些是數值.字元型別

C語言中有bool嗎

寫在楓葉上的故事 c語言裡面是沒有bool 布林 型別的,c 裡面才有,c語言裡面用數值0表示假,非0整數表示真。在c 裡面可以使用bool型別。bool型別只有兩個值 true 1 false 0。bool可用於定義函式型別為布林型,函式裡可以有 return true return false ...

c中使用bool函式的例子,C 中使用bool函式的例子

等待的幸福快樂 例子 bool 就兩個值,真或者假,通常用來儲存關係表示式或者邏輯表示式的結果。以前是用 int 來表示真假,大 int 有多個值,所以才規定 0 為假,非零為真,導致對應關係比較麻煩,有了 bool 就方便多了,如果把結果賦值給 bool 型別的變數,他會自動轉換,即把0轉換為假,...

double型別變數c語言裡輸出時的格式說明符是什麼

蟲心菜 float和double型別的輸出時的格式說明符都是 f,這是由於向那些未在原型中申明引數型別的函式傳遞引數時,float型會自動轉為double型,所以用 lf和 f結果都一樣。例如 double a 3.1323 float b 0.234 printf lf n a 輸出結果為3.13...