C언어/언제나 C언어

논리 형식과 논리 연산 [언제나 C언어]

언제나휴일 2020. 6. 11. 08:48
반응형

 

부정 연산 1

#include <stdio.h>
int main()
{
    char c = 'a';
    short s = 2;
    int i = 4;
    float f = 0.1f;
    double df = 0.2;
    printf("%d %d %d %d %d\n", !c, !s, !i, !f, !df);
    return 0;
}

부정 연산 2

#include <stdio.h>
int main()
{
    char c2 = 0;
    int i2 = 0;
    double df2 = 0;
    printf("%d %d %d\n", !c2, !i2,!df2);

    return 0;
}

논리곱 &&과 논리합 ||

#include <stdio.h>
int main()
{
    char c = 'a';
    short s = 2;
    int i = 4;
    float f = 0.1f;
    double df = 0.2;

    char c2 = 0;
    int i2 = 0;
    double df2 = 0;


    printf("test1:%d\n", c && s);
    printf("test2:%d\n", c &&  i2);
    printf("test3:%d\n", c2 && f);
    printf("test4:%d\n", c2 && df2);
    printf("=============\n");
    printf("test5:%d\n", i || df);
    printf("test6:%d\n", i || df2);
    printf("test7:%d\n", c2 || f);
    printf("test8:%d\n", i2 || df2);    

    return 0;
}

논리 연산에서 주의할 점

#include <stdio.h>
int main()
{
    int re1 = 1;
    int re2 = 1;
    (re1 = 0) && (re2 = 0);
    printf("re1:%d re2:%d\n", re1, re2);
    return 0;
}
#include <stdio.h>
int main()
{
    int re1 = 1;
    int re2 = 1;
    (re1 = 2) || (re2 = 0);
    printf("re1:%d re2:%d\n", re1, re2);
    return 0;
}
반응형