inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

7.9 조건 연산자

bool even이 무슨 값을 입력해도 if문 진입시 false로 바뀝니다...

해결된 질문

590

tgyh0716

작성한 질문수 1

0

10을 입력하고 true값이 if로 들어가자마자 false로 바뀝니다...

c

답변 3

0

tgyh0716

주석 제외 이렇게 했습니다!

0

강민철

코드에 오타가 있습니다

iseven = (number & 2 == 0) ? true : false;

위 코드가 아니라

iseven = (number % 2 == 0) ? true : false;

위 코드입니다.

 

0

tgyh0716

아..감사합니다!

0

강민철

안녕하세요,

입력하신 코드 전문을 이 곳에 첨부해주세요.

그럼 제가 어떤 부분이 문제였는지 봐드리겠습니다 :)

0

tgyh0716

#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

tgyh0716

추가적으로

const bool even = (number % 2 == 0) ? True : False;

로 바꿔보니 

재정의.형식 한정자가 다르다는 메시지가 나오며

printf 출력이 불가합니다..

0

강민철

아래 코드와 비교해보세요.

 

#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;

}

Export template 안됨

1

66

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

98

3

main 함수에서 왜 int만 선언이 되는걸까요

1

85

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

82

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

81

1

프로토타입과 함수간의 인자 불일치

1

87

2

12.12 헤더 관련 질문

1

74

2

Visual Studio Community 2026 사용 문의

1

172

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

73

2

getchar(), putchar()

1

112

3

강의자리ㅛ

1

93

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

133

2

소스파일안에 여러 파일

1

89

2

F5와 F7의 차이

1

93

2

c = TWO * (a+b); 에서 a와 b는?

1

69

2

; 세미콜론을 붙이는 기준에 문의

1

78

1

Step over 기능 문의

1

66

2

2.6 강의 따옴표 출력 규칙 문의

1

88

2

int main 함수 관련 오류 문의

1

82

2

13.4 words[0]

0

73

2

11.7 함수를 구현해 봤습니다.

1

67

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

73

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

62

2

11.6 fit_str함수를 구현해 봤습니다.

1

60

2