본문 바로가기

정보처리기사 실기/프로그래밍 언어 문풀

c언어 문제풀이) 콤마연산자, 관계/논리연산자 조건문

정보처리기사 실기 프로그래밍언어 c언어

헷갈리는 문제 정리하고자 기록

 

콤마연산자

 

#include<studio.h>
void main() {
	int a = (15, 28);
    printf("%d, ", a);

	int b = (15, 28, 43);
    printf("%d, ", b);

	int c = (15, (28, 43), 67);
    printf("%d, ", c);
    
}

풀이 - 무조건 맨 오른쪽에 있는 값으로 대입 (괄호 상관 없이)

답 - a = 28, b = 43, c = 67

 

관계/논리연산자, 조건문

#include<studio.h>
int main()
{	
	int i = 8;
    int j = 9;
    if( (++i > j--) && (i++ < --j) ) i = i-- + ++j;
    else j = i-- - --j;
    printf("&d %d₩n", i, j);
}

거짓이여서 else구문으로 내려와도 i와 j의 값은 if문에서 산술연산자의 영향을 받은 그대로임.

else문을 풀 때 i의 값은 9 , j의 값은 8임