본문 바로가기

프로그래밍 언어/C언어

C언어 - 연산자

연산자가 하는 일

 

연산자의 정확한 역할대로 계산 수행

 

 

하지만 더 중요한 것은?!

 

연산의 결과값을 그 자리에 남긴다는 것이다.

그렇기에 연산자 개수가 계산 횟수를 나타낸다.

 

 

 

 

 

그리고 코드를 줄이고 싶다면 이와 같이 응용을 할 수 있다.

 

 

1만 증가하는 경우에는 다음과 같이 더욱 간단하게 표현할 수 있다.

 

그러나, a++ 과 ++a 는 다르다.

 

a 값이 1 증가되는 것은 같으나

무엇을 남기는지에 대해 둘의 차이가 나타난다.

 

 

 

 

+ 아래 코드를 실행시켜보면 "4 12"가 출력되는 것을 알 수 있는데
코드 밑에 이유가 있으니 스스로 한 번 생각해보고
내려가길 바란다.

 

#include <stdio.h>

int main() {
    int a, b, c;

    a = 2;
    b = a++ + a++;
    c = ++a + ++a;

    printf("%d %d", b, c);

    return 0;
}

 

 

 

 


b = a++ + a++;  ->  b = a + a; a += 1; a += 1;  ->  b = 2 + 2; a += 1; a+= 1;  (따라서, a = 2 + 1 + 1 = 4)


c = ++a + ++a;  ->  a += 1; a += 1; c = a + a;  ->  a += 1; a += 1; c = 6 + 6; (따라서, a = 4 + 1 + 1 = 6)

 

 

 

 

그렇다면, "a++ + ++a"나 "++a + a++"는 어떻게 될 것 같은가? 궁금하지 않은가?
직접 해보고 그 이유를 스스로 깨달을 수 있다면
++a와 a++에 대한 이해가 충분히 되었는 것이라 생각된다.

 

 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=8187381

'프로그래밍 언어 > C언어' 카테고리의 다른 글

C언어 - switch문  (0) 2020.08.17
C언어 - 논리연산자  (0) 2020.08.17
C언어 - else if, else 문  (0) 2020.08.10
C언어 - while, do while 반복문  (0) 2020.07.22
C언어 - for 반복문  (0) 2020.07.07