받는 따르면 운영자 우선 순위 , 콤마 연산자는 보다 낮은 우선 가지고 operator=있으므로 x = 2,3;등가이다 (x = 2),3;. (연산자 우선 순위는 우선 순위에 따라 연산자가 다른 연산자보다 더 단단하거나 느슨한 방식으로 인수에 바인딩되는 방식을 결정합니다.)
쉼표식이 (x = 2),3아니라 여기에 2,3있습니다. x = 2처음에 평가되고 (그리고 그 부작용이 완료 됨) 결과가 폐기 된 다음 3평가됩니다 (실제로 아무 작업도 수행하지 않음). 그래서의 값 x이 2. 주 3전체 쉼표 표현 (즉,의 결과는 x = 2,3)에 할당하는 데 사용되지 않습니다 x. (변경 그것은하는 x = (2,3);, x할당됩니다 3.)
를 들어 return 2,3;, 쉼표 표현은 2,3, 2다음 평가의 결과는 폐기하고 3평가에 의해 반환되는 전체 쉼표 표현의 결과로 반환 return 문 이상.
식 및 문 에 대한 추가 정보
표현식은 계산을 지정하는 일련의 연산자와 해당 피연산자입니다.
x = 2,3;is expression statement , x = 2,3은 여기에있는 표현식입니다.
세미콜론이 뒤에 오는 표현식은 명령문입니다.
통사론: attr(optional) expression(optional) ; (1)
return 2,3;는 점프 문 ( return 문 )이며 2,3여기에있는 표현식입니다.
통사론: attr(optional) return expression(optional) ; (1)