#include <iostream>
using namespace std;
int main()
{
int m[5] = { -1, 1, -1, 0, -1 };
for (int i = 0; m[i] != 0; ++i)
{
switch (i)
{
case 0:
case 1:
case 2: m[i] *= 3;
case 3:
if (i % 3 == 0)
{
m[i] = 1;
}
break;
case 4:
m[i] = 2;
break;
default:
cout << "lalala" << endl;
}
if (i == 4)
{
m[i] = 0;
}
}
for (int i = 0; i < 5; i++)
{
cout << m[i] << " ";
}
}
using namespace std;
int main()
{
int m[5] = { -1, 1, -1, 0, -1 };
for (int i = 0; m[i] != 0; ++i)
{
switch (i)
{
case 0:
case 1:
case 2: m[i] *= 3;
case 3:
if (i % 3 == 0)
{
m[i] = 1;
}
break;
case 4:
m[i] = 2;
break;
default:
cout << "lalala" << endl;
}
if (i == 4)
{
m[i] = 0;
}
}
for (int i = 0; i < 5; i++)
{
cout << m[i] << " ";
}
}
i가 0일 때 m 배열에 아무 변화 없고
i가 1일 때도 아무 변화 없고
i=2가 되면, m[2]*=3 즉 {-1,1,-3,0,-1}이 되고
i가 3이 되면, m[i]!=0 조건에 안 맞아서 두 번쨰 for문으로 가죠.
그래서 {-1,1,-3,0,-1}이 나와야되는데, 왜 막상 돌려보면
{-1,3,-3,0,-1}이 나올까요?
케이스 0,1,2에는 왜 break 안 넣었음
ㅡ - dc App