질문 선택란을 잘못선택해서 다시 질문해봅니다;;
딸기맛캔디
질문 내용 : 제가 착각을 하고있었어서;;
이게 c++인줄모르고 그냥 c언어란에 질문을 했었네요;;
혹시 다른건가싶어서 일단 질문을 다시 해봅니다.
#include sudio.h
int main(void)
{
int a,b = 0, c = 0;
a = ++b + ++c;
printf(%d %d %d\n, a, b, c);
a = b++ + c++;
printf(%d %d %d\n, a, b, c);
a = ++b + c++;
printf(%d %d %d\n, a, b, c);
a = b-- + --c;
printf(%d %d %d\n, a, b, c);
return 0;
}
여기에서
첫째줄의
a = ++b + ++c 가 b = 1, c = 1 해서
2 1 1 이 나오는 이유는 어떻게든 알겠는데
그 다음줄부터 구하질 못하겠습니다.
어떻게해서
2 2 2
5 3 3
5 2 2 가 나오는건가요.
-
멱부리
C++ Q&A 게시판에서 C언어 Q&A 게시판으로 이동시켰습니다.
-
일진누나
근데...위 내용은... C++의 특징이 없습니다...^^
-
소예
전치증감연산자는 증가후 연산이고, 후치증감연산자는 연산후 증가입니다.
-
개미
감사해요 ㅋㅋ
-
티나
선변환 후조치,선조치 후변한의 개념문제이네요.
두번 째 a = b++ + c++; 에서 b,c를 후조치 하고 있어요. 현재 b,c는 각각 1입니다.
그래서 a=1+1 해서 2가 되고 printf에서 a는 2로 ,b,c는 후조치 되었기 때문에 그제서야 +1이 되어 각각 2가 되죠. 이렇게 선변환 후조치,선조치 후변환에 대한 개념을 잘 생각 해보시면 그다음 것도 이해 하실
수 있을 겁니다.