int a=1,b=2,c=3;
int x=1;
int y=10;
a = x ? b : c;
cout<< a; // Outputs 2 (the value of b)
a = y ? b : c;
cout<< a; // Outputs 2 (the value of b)
자, 다음을보십시오.C 조건 연산자의 결과 혼동
a=0;
x=0;
a = x ? b : c;
cout<< a; // Outputs 3 (the value of c !!!!)
왜이 비정상적인 동작 ?? a와 x가 모두 0 일 때만 표현식이 거짓으로 평가되고, 그렇지 않으면 항상 이됩니다. 설명 해주십시오.
어 ... 행동은 사실 아주 평범합니다. 그리고 만약''a '가'c'의 값을 얻는다면''a''와''x''가 모두'0'이되어야한다는 결론이 나오면 실험 결과를 올바르게 읽지 않을 것입니다. –
예. 이제 이해가된다. 나는 틀린 결론을 내렸다. 감사! – user1122