안녕하세요. 조교 이은헌입니다.
현재 무한 루프에 빠진 원인은 여러가지가 있습니다.
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이 되고... 이 과정을 계속하게 됩니다.