Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

'?'은(는) 무슨 뜻인가요? C/C++로 합니까?


연산자 '?'는 3개의 피연산자가 작동해야 하므로 삼항 연산자로 알려져 있습니다. "로 나타낼 수 있습니다. :". 조건 연산자라고도 합니다. 연산자는 성능을 향상시키고 코드 줄을 줄입니다.

다음은 C 언어의 삼항 연산자 구문입니다.

Expression1 ? Expression2 : Expression3

다음은 C 언어의 삼항 연산자의 예입니다.

예시

#include <stdio.h>

int main() {
   int a = -1;
   double b = 26.4231;
   int c = a? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

출력

다음은 출력입니다.

True value : 26.423100

expression1은 항상 평가되는 반면 expression2 및 expression3은 expression1의 결과에 종속됩니다. expression1의 결과가 0이 아니거나 음수이면 expression2가 표시되고, 그렇지 않으면 expression3이 표시됩니다.

삼항 연산자에는 반환 유형이 있습니다. 반환 유형은 expression2 및 expression3에서 expression2로의 변환 가능성에 따라 다릅니다. 변환할 수 없으면 컴파일러에서 오류가 발생합니다.

다음은 C 언어의 삼항 연산자의 또 다른 예입니다.

예시

#include <stdio.h>
int main() {
   int x = -1, y = 3;
   double b = x+y+0.5;
   int c = x<y? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

출력

다음은 출력입니다.

True value : 2.500000