int _tmain(int argc, _TCHAR* argv[])
{
char a = 'b';
int b = 3;
switch(a)
{
case 'a' : b = b+1;
case 'b' : b = b++;
case 'c' : b -= 3;
case 'd' : b *=2;
break;
}
printf("%dn", b);
return 0;
}
이런 switch문에서 a = 'a', 'b', 'c', 'd' 바꿔가면서 넣어보고 있는데
a = 'b'일 때 case 'b' : b = b++ 에서 마지막에 출력되는 b의 값이 2가 나오는데 왜 2가 나오는지 모르겠어요
제가 생각하기론 b++ 이니까 1이 증가하기 전의 b 값인 3이 출력되야 할거 같은데 왜 2가 출력되는거죠?
제가 혹시 잘못 생각하고 있는 부분이 있는건가요?
뷁을 써보아요 [i]
한 번에 널 차버릴거야 뷁깃
case \'b\' 아래에 뷁을 써 보았는데 이제는 4가 나오네요?
잘 나오네
뒤에 ++이 붙으면 선출력 후계산으로 알고있었는데 printf 앞에서 이미 ++을 해서 b값이 4가 나오는건가요?
네 그러함 자문자답!
오늘 뭐 switch day인가?
[i]
각 케이스문의 마지막에 break를 해줘야지 [i]