|
#include <iostream>
#include <string>
int main()
{
using namespace std;
string monthName[12] = {"1","2","3","4","5","6","7","8","9","10","11","12"};
int monthSelling[3][sizeof(monthName)];
int totalSelling = 0;
for (int i = 0; i < 3; i++)
{
cout << i + 1 << "년째\n";
for (int j = 0; j < sizeof(monthName); j++)
{
cout << monthName[j] << "판매량 ";
cin >> monthSelling[i][j];
totalSelling = totalSelling + monthSelling[i][j];
}
cout << endl;
}
cout << totalSelling << endl;
return 0;
}
이런 내용의 코드가 있는데 i의 for문이 1회만 돌고 안도네요.
내부 for문의 j < sizeof(monthName) 이 부분을 12와 같은 상수로 바꾸어주니 3번 * 12번 해서 36번이 도는데
j < sizeof(monthName) 로 두었을 경우 12번만 수행을 하고 (i = 0일때만 수행) 끝나버립니다
왜 그런 차이가 발생하는 것인지 알 수 있을까요?
|