|
sizeof(monthName) 이 값이 님이 생각하시는 12라는 값이 아닌것 같네요
sizeof(monthName)는 12를 훨씬 초과한 값이 나올것인데..
그럴경우 좀 문제가...
그럼..
앙탈쟁이 님이 쓰신 글 :
: #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일때만 수행) 끝나버립니다
: 왜 그런 차이가 발생하는 것인지 알 수 있을까요?
|