6.11 콤마(,) 연산자

공기훈·2021년 9월 10일
0

홍정모의 따배씨

목록 보기
35/49
	for (int n = 1, nsqr = n * n; n < 10; n++, nsqr = n * n)
		printf("%d %d\n", n, nsqr);

printf() 안의 ,는 operator가 아닌 separator의 역할만 수행한다.

int i, j;
	i = 1;
	i++, j = i; // comma is a sequence point
	printf("%d %d\n", i, j);

	int x, y, z;
	z = x = 1, y = 2;

대입 연산자는 오른쪽에서 왼쪽으로 대입하는 방식이다.
그러므로 1이 x에 들어가고, 그 다음 z에 1인 x가 대입되는 방식이다.

	printf("x=%d, y=%d, z=%d \n", x, y, z);
	z = (x = 1), (y = 2);
	printf("x=%d, y=%d, z=%d \n", x, y, z);
	z = ((x = 1), (y = 2));
	printf("x=%d, y=%d, z=%d \n", x, y, z);

마지막은 1이 x에 들어가고, 2가 y에 들어간다.
,는 오른쪽의 수가 나오게 된다. 그러므로 2가 출력이 된다.

	int my_money = (123, 456);
	printf("%d\n", my_money); // 오른쪽의 456이 출력된다.
profile
be a coding master

0개의 댓글