해결된 질문
작성
·
523
0
10을 입력하고 true값이 if로 들어가자마자 false로 바뀝니다...
답변 3
0
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>
int main()
{ int a = 1, b = 2;
int max = (a > b) ? a : b;
int number;
scanf("%d", &number);
bool iseven;
iseven = (number & 2 == 0) ? true : false;
if (iseven) {
printf("Even");
}
else {
printf("Odd");
}
return 0;
}
0
추가적으로
const bool even = (number % 2 == 0) ? True : False;
로 바꿔보니
재정의.형식 한정자가 다르다는 메시지가 나오며
printf 출력이 불가합니다..
아래 코드와 비교해보세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>
int main()
{
int number;
scanf("%d", &number);
const bool iseven = (number % 2 == 0) ? true : false;
if (iseven) {
printf("Even");
}
else {
printf("Odd");
}
return 0;
}
코드에 오타가 있습니다
iseven = (number & 2 == 0) ? true : false;
위 코드가 아니라
iseven = (number % 2 == 0) ? true : false;
위 코드입니다.