2012-08-10 5 views
2

저는 C의 초보자입니다. 삼항 연산자가 유용 할 수있는 이유를 이해합니다. if/else 블록보다 코드가 적습니다.삼항 연산자의 비정상적인 사용

나는 유지하기 위해 약간의 C 코드를 부여받은, 내가 발견 한 한 가지 문제는이 정확히 같은 일을 수행 하는가이

myInt = (!myInt) ? MACRO1 : MACRO2; 

같은 삼항 연산자를 사용하는 이전 프로그래머 :

myInt = myInt ? MACRO2 : MACRO1; 

그냥 스타일일까요? 아마도 "if"대신에 "if not"myInt를 생각하는 것이 합리적일까요?

+1

왜 매크로를 삼항 연산자에 사용합니까? O – zellio

+2

둘 다 같고 스타일은 같습니다. –

+0

그들은 완전히 동일합니다. 그러나 원래 변수 이름이 더 좋다면 그대로 두십시오. – nhahtdh

답변

6

예,이 코드는 똑같은 작업을 수행합니다. 조건을 작성할 때 사용되는 논리에 따라 달라 지므로 스타일에 맞게 백분율을 적용 할 수 있습니다 (즉, 생각하기가 쉬운 것).

+0

응답을 주셔서 감사합니다 –

2

예. 올바른 것입니다. 마치 그 코드의 작성자가 표현이 약간 혼란스러워 지길 원했던 것처럼 보입니다.

+0

내가 동의, 이상한 것은 그/그녀가 일관되게 그것을 사용, 미안 해요 다른 답변을 올바른 것으로 표시했다 그는 처음이었다. : thnx 응답을위한 tho –

2

역 논리를 사용하지 않으므로 두 번째 예제를 선호하므로 이해하기 쉽고 혼란이 적습니다.

myInt = myInt ? MACRO2 : MACRO1;