一隻太平洋睡鯊 发表于 2021-12-26 21:22:09

C語言的布林型態

就是我看的教材,課後作業有這道題(圖1)
所以我就把這串代碼打出來
#include <stdio.h>
#include <stdlib.h>

int main()
{
        int a1 = 456 ;
        int a2 = 654 ;
        int a3 = 456 ;
       
        boolean bc1 = (a1 > a2) ;
        boolean bc2 = (a2 < a3) ;   
        boolean bc3 = (a3 == a1) ;
       
        printf("%d\n", bc1 ) ;
        printf("%d\n", bc2 ) ;
        printf("%d\n", bc3 ) ;
       
        return 0 ;
}

會報錯無法執行(圖2)
我在想這個boolean應該是代表布林型態?
叫不出來是不是因為前面的#include沒含括到?
但目前的教學內容中,打出#include的時候
都只有出現<stdio.h>和<stdlib.h>,還沒有出現別的...

傻眼貓咪 发表于 2021-12-26 21:32:43

本帖最后由 傻眼貓咪 于 2021-12-26 21:36 编辑

_Bool

#include <stdio.h>
// #include <stdlib.h>

int main()
{
    int a1 = 456 ;
    int a2 = 654 ;
    int a3 = 456 ;
   
    _Bool bc1 = (a1 > a2);
    _Bool bc2 = (a2 < a3);   
    _Bool bc3 = (a3 == a1);
   
    printf("%d\n", bc1);
    printf("%d\n", bc2);
    printf("%d\n", bc3);
   
    return 0 ;
}

傻眼貓咪 发表于 2021-12-26 21:38:15

方法二:
#include <stdio.h>
// #include <stdlib.h>

typedef _Bool boolean;

int main()
{
    int a1 = 456 ;
    int a2 = 654 ;
    int a3 = 456 ;
   
    boolean bc1 = (a1 > a2);
    boolean bc2 = (a2 < a3);   
    boolean bc3 = (a3 == a1);
   
    printf("%d\n", bc1);
    printf("%d\n", bc2);
    printf("%d\n", bc3);
   
    return 0 ;
}

jackz007 发表于 2021-12-26 21:48:21

      把所有的 boolean 换成 bool 试试看。

一隻太平洋睡鯊 发表于 2021-12-26 21:59:18

傻眼貓咪 发表于 2021-12-26 21:32
_Bool

奇怪,如果是_Bool,這教材怎麼會突然出現boolean{:10_250:}

傻眼貓咪 发表于 2021-12-26 22:47:41

一隻太平洋睡鯊 发表于 2021-12-26 21:59
奇怪,如果是_Bool,這教材怎麼會突然出現boolean

{:10_257:}

hornwong 发表于 2021-12-27 14:30:22

{:5_95:}
页: [1]
查看完整版本: C語言的布林型態