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