#include<stdio.h>
int main()
{
int num1=4;
int num2=num1++;
int num3=++num1;
printf("%d%d%d" ,num1,num2,num3);
}
이게 잘 이해가 안대는게 결과값이 646 이 나오거든?
num2는 num1 을 받고 ++을 하니까 4가 나오는건 이해가되고
num1 이랑 num3 값 출력이 어째서 6이 나오는지 이해가안댄다
나름 생각해보면 num1에 4 저장되고 num2에서 4출력되고 5저장되고 num6에서 5저장된거 6 올라간거 출력되고
이래서 456이 나와야댄다 생각하고 한건대 어째서 num1에서 6이 출력되는겨?
연사라니두두두두두두두말씀이시죠고갱님?
++연산 여기저기 넣으니까 대충 이해가 되내시발
num++ 나 ++num 자체가 뜻이 num += 1 이니까 그렇지.
이거 num1은 무조건 연산이끝난값이 출력되내 num1을 초기화한 값을 출력할수 있는 방법은없나? ++연산자는 무조건 초기화값에 영향을 받는건가?
(왜 이해가 안 가는지 이해가 안 감)
int num2=num1++; -> num2 = 4, num1 = 5,
int num3=++num1; -> num3 = 6, num1 = 6
num++ ==> num을 먼저 사용하고 ++해줌 ++num ==> ++먼저 하고 num 사용- From DC 도우미+
int num2 = num1++; // num1을 num2에 대입먼저 하고 ++해줌- From DC 도우미+
int num3 = ++num1; // num1이 이시점에서는 5니까 ++먼저 해서 6이 된 상태에서 num3에 대입- From DC 도우미+
ㅇㅇ 위에 자세한 설명 고맙다 나도 ++ 여기저기 다시넣어보고 대충 이해가 대드라