더하기 빼기 자체는 쉽다. 하지만 프로그램언어에 익숙해지는 것이 목적이다보니 일단 기록하고 남긴다.
위의 답안도 정답이나, 많은 기능을 써보아야하는 현재로써 생각하자면 위의 답은 문제의 의도를 약간 벗어난것 같다.
num3 = num1 + num2;
num3 -= 4.5;
를 하여도 답이 된다.
++, --연산자는 각각 정수부분을 1씩 더하거나 뺀다.
num1과 num2에 각각 ++연산을 하였다면, 출력화면에서 3 3으로 나와야할텐데 막상 그렇게 나오지 않는다.
이유는 증감연산자를 변수의 뒤에 사용해서 그렇다. 이러한 사용을 우리는 postfix(후위) 연산자라고 한다. 값이 반영되지 않는 이유는 동작 순서에 차이가 있기 때문이다.
num3 = num1++; 을 풀어서 적어보자면
num3 = num1;
num1 = num1 + 1
이 된다. 따라서 num3은 기존 num1 값을 유지하고, num1 값은 1이 연산된 3이 된다.
후위 연산자는 할당 이후에 연산하게 되므로 바뀌기 전의 값이 다른 변수에 할당된다.
증감 연산자가 변수 뒤에 쓰이면 연산을 나중에 처리한다는 뜻이 된다.
전위 연산자의 활용이다.
증감 연산자가 수행되어 변수의 값이 1증감되고, 그 값이 다른 변수에 할당이 되는 식이다.
증감연산자 (++, --)는 변수 앞에오느냐, 뒤에오느냐에 따라 결과값 자체가 달라지므로 사용할 때 주의해야 한다.
위도 정답이다. 또한 ++num1; ++num2, --c1; 도 정답이다.
'C, C++' 카테고리의 다른 글
오늘 공부한 C언어(if 조건문으로 특정 조건일 때 코드 실행하기) (0) | 2022.02.27 |
---|---|
오늘 공부한 C언어(자료형의 확산과 축소) (0) | 2022.02.27 |
오늘 공부한 C언어 (나머지 연산하기) (0) | 2022.02.24 |
오늘 공부한 C언어 (곱셈, 나눗셈하기 / 원의 넓이 구하기) (0) | 2022.02.24 |
오늘 공부한 C언어 (문자 자료형 사용하기, 상수 사용하기, 입력값 변수에 저장하기) (0) | 2022.02.21 |