왜 무한루프가 도는건가요??

topgun0209 Reply 9 years 4 weeks ago
전체적으로 좀 안좋긴 하지만....ㅠ
booksky Reply 9 years 3 weeks ago
안녕하세요. 조교 이은헌입니다. 현재 무한 루프에 빠진 원인은 여러가지가 있습니다. 1. i의 값이 초기화가 되지 않았습니다. 초기화를 하지 않은 i값에는 어떤 값이 있을지 그 누구도 모릅니다. 2. 반복문이 2개가 중첩되면서 무한루프에 빠지게 됩니다. for(h=0; h<i; h+=4){ ..................................... for(h=0; h<4; h++) printf("%c", b[h]); } 지금 이런 식으로 반복문이 중첩되고 있습니다. 예를 들어 i값이 20이고, h값이 0이라고 가정해보겠습니다. 맨 처음에 h는 0으로 시작해서 내려가다가 밑에 있는 for구문을 만나게 됩니다. 그러면 h값은 4가 되겠죠? 다시 위에 있는 for구문으로 돌아가면 h는 +4가 되서 8이 되고 i는 20이기 때문에 다시 반복문을 수행합니다. 이 상태에서 다시 아래에 있는 반복문에 들어가면 h값은 다시 0이 되고 끝나면 4가 되고 위에 있는 for구문으로 돌아가면 8이 되고... 이 과정을 계속하게 됩니다.