반응형
부정 연산 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;
}
반응형
'C언어 > 언제나 C언어' 카테고리의 다른 글
비트 연산 & | ^ ~ [언제나 C언어] (0) | 2020.06.22 |
---|---|
비교 연산, 논리 연산의 도움을 받으세요. [언제나 C언어] (0) | 2020.06.18 |
이럴 때 나머지 연산을 사용하자. 0123401234012… [언제나 C언어] (0) | 2020.06.10 |
산술 연산과 overflow [언제나 C언어] (0) | 2020.06.07 |
실수 형식 표현 범위, FLT_MIN, FLT_MAX, FLT_TRUE_MIN [언제나 C언어] (0) | 2020.06.05 |