커뮤니티

문의 드립니다.

프로필 이미지
무결점
2017-11-14 09:34:03
108
글번호 114157
답변완료
Arrays : Period[300](0); Vars : X(0); For X = 0 To 99 { If Period[X]==Period[200] Then Period[200] = 666; } MessageLog("%.f", Period[200]); If O < C Then Buy(); 위 구문에서 보면 반복문에서 변수 X 값은 최대 99 까지 변하는데 If Period[X]==Period[200] 구문을 만족하면서 Period[200] 에 666 값이 할당이 됩니다. 이게 이해가 안갑니다. X 값은 최대 99까지 할당 되는데 어떻게 If Period[X]==Period[200] 구문을 만족할수가 있는 건가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-14 14:09:11

안녕하세요 예스스탁입니다. Arrays : Period[300](0); Period는 총 300개의 방이 있는 배열변수입니다. 각방의 값은 모두 0이고 단순히 루프에서 0~99번방을 부른것일 뿐입니다. 첫루프에서 (X는 0일때) Period[0] == Period[200] 이 0 == 0 으로 조건만족하므로 Period[200]에 666이 저장되는 것입니다. 아래식 적용해 로그확인하시기 바랍니다. 최초 0할당일때 값저장되어 계속 666값을 가지게 됩니다. Arrays : Period[300](0); Vars : X(0); For X = 0 To 99 { if Period[X]==Period[200] Then { Period[200] = 666; MessageLog("%.f %.f %.f",X,Period[X],Period[200]); } } 즐거운 하루되세요 > 무결점 님이 쓴 글입니다. > 제목 : 문의 드립니다. > Arrays : Period[300](0); Vars : X(0); For X = 0 To 99 { If Period[X]==Period[200] Then Period[200] = 666; } MessageLog("%.f", Period[200]); If O < C Then Buy(); 위 구문에서 보면 반복문에서 변수 X 값은 최대 99 까지 변하는데 If Period[X]==Period[200] 구문을 만족하면서 Period[200] 에 666 값이 할당이 됩니다. 이게 이해가 안갑니다. X 값은 최대 99까지 할당 되는데 어떻게 If Period[X]==Period[200] 구문을 만족할수가 있는 건가요?