사실과 거짓(True & False)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int tv, fv;
tv = (1 < 2); // 2는 1보다 크니까 참
fv = (1 > 2); // 2는 1보다 작지 않으니 거짓
return 0;
}
일단, 표현식이 참이든 거짓이든 어떤 특정 값을 가지고 있다는 것을 알 수 있다.
그러면 표현식에 있는 참과 거짓은 어떤 값을 가질까?
한 번 출력을 해보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int tv, fv;
tv = (1 < 2); // 2는 1보다 크니까 참
fv = (1 > 2); // 2는 1보다 작지 않으니 거짓
printf("True is %d\n", tv);
printf("False is %d\n", fv);
return 0;
}

콘솔창을 보면 이렇게 참은 1, 거짓은 0으로 나왔다.
그런데, ingeter은 여러가지의 수를 받을 수 있는데.
우리가 배운 참과 거짓, 다시 말해서 0과 1의 외의 값들은 True일까? False일까? 아니면 다른 어떤 걸 말할까?
한 번 실험을 해보자
예시 1)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = -5;
while (i)
printf("%d is true \n", i++);
printf("%d is false\n", i);
}

음수의 값도 될 수 있다는 것을 알았다.
그러면 양수의 값도 알아보자.
예시 2)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 5;
while (i)
printf("%d is true \n", i--);
printf("%d is false\n", i);
}

오 0 외의 숫자도 true가 나왔다.
0은 False고 0 외의 값은 True라는 것을 알 수 있다.
출처: 홍정모의 따라배우는 C언어
강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음
'배운 것들 메모 > 따라 배우는 C언어' 카테고리의 다른 글
[홍정모의 따라하며 배우는 C언어] 6.7 관계 연산자의 우선순위 (0) | 2024.10.11 |
---|---|
[홍정모의 따라하며 배우는 C언어] 6.6 _Bool 자료형(Boolean Data Type) (0) | 2024.10.11 |
[홍정모의 따라하며 배우는 C언어] 6.4 관계 연산자(Relational Operators) (0) | 2024.09.26 |
[홍정모의 따라하며 배우는 C언어] 6.3 진입조건 루프(Entry-Condition Loop) while (0) | 2024.09.26 |
[홍정모의 따라하며 배우는 C언어] 6.1 while 반복 루프에서 scanf()의 반환값 사용하기 (0) | 2024.09.12 |