▸C언어/개발 TIP

삼항연산자(3항연산자) 사용법 (if문 대체)

코데방 2019. 12. 5.
728x90

가끔 if문이 길어지면 보기가 불편할 때가 있습니다.

간단한 if문을 대체할 수 있는 삼항연산자의 사용법입니다.

 


 

[ 문법 ]

조건 ? 참일경우 실행할 내용 : 거짓일경우 실행할 내용;

 

int main()
{
	int a = 200;
	int b = 100;
		
	a > b ? printf("a가 크네") : printf("b가 크네");
}

 


 

위와 같이 문법은 매우 간단합니다. 다시 응용을 좀 해보자면 아래와 같이 쓸 수도 있습니다.

1. 실행할 내용이 변수에 값을 넣어줄 때 (변수가 하나)

  • 연산자 우선순위로 인해, c = (a > b ? 1 : 0); 방식으로 실행됨
  • 삼항 연산자부터 실행해서 값을 가져온 뒤, c에다가 넣어줌

 

int main()
{
	int a = 200;
	int b = 100;
	int c = 0;
	int d = 0;
	
	c = a > b ? 1 : 0;
	printf("c=%d, d=%d", c, d);
}

 

 

2. 실행할 내용이 변수에 값을 넣어줄 때 (서로 다른 변수에 넣어줄 때)

 

int main()
{
	int a = 200;
	int b = 100;
	int c = 0;
	int d = 0;
	
	a < b ? (c = 3) : (d = 100);
	printf("c=%d, d=%d", c, d);
}

 

 

3. 실행할 내용이 변수에 값을 넣어줄 때 (변수 여러 개도 컨트롤 가능)

 

int main()
{
	int a = 200;
	int b = 100;
	int c = 0;
	int d = 0;
	
	a < b ? (c = 3) : (c = 50, d = 100);
	printf("c=%d, d=%d", c, d);
}

 

 

4. 그 외 뭐든 if문과 같이 여러 가지를 실행 가능

 

int main()
{
	int a = 200;
	int b = 100;
	int c = 0;
	int d = 0;
	
	a < b ? (c = 3) : (printf("메롱"), d = 100);
	printf("c=%d, d=%d", c, d);
}

 

728x90

댓글

💲 추천 글