C/C++ 프로그래밍 언어의 쉼표 연산자에는 두 가지 컨텍스트가 있습니다. -
-
구분자로 -
-
연산자로서 − 쉼표 연산자 { , }는 첫 번째 표현식(평가 후)을 버리고 두 번째 표현식의 값을 사용하는 이항 연산자입니다. 이 연산자는 우선 순위가 가장 낮습니다.
다음 코드를 고려하고 출력을 추측하십시오 -
예시
#include <stdio.h> int main(void) { char ch = 'a', 'b', 'c'; printf("%c", ch); return 0; }
출력
구분자로 작동하기 때문에 오류가 발생합니다.
prog.c: In function ‘main’: prog.c:5:20: error: expected identifier or ‘(’ before 'b' char ch = 'a', 'b', 'c'; ^~~
예시
#include <stdio.h> int main(void) { char ch; ch = 'a','b','c'; printf("%c", ch); return 0; }
출력
','는 연산자로 작동하지만 우선순위는 할당 연산자보다 낮으므로 출력은 작동하는 그대로 출력됩니다.
a
예시
#include <stdio.h> int f1() { return 43; } int f2() { return 123 ; } int main(void) { int a; a = (f1() , f2()); printf("%d", a); return 0; }
출력
123 ', '와 같은 출력은 연산자로 작동하고 중괄호 안에 있으면 작동하고 두 번째 표현식을 평가하여 출력을 제공합니다.
123