for구문 무한루프

for구문인데 무한루프에 빠진다.

for(i=0;i<200;i++){
printf(“%d th iteration \n”, iteration++);

linmin(band, xi);

if(2.0*fabs(fret-fp) break;

}

fp=NEBpotential(band);

xi = NEBforce(band);

gg=0.0;

dgg=0.0;

for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
gg+=g[i][j]*g[i][j];

dgg = (xi[i][j]+g[i][j])*xi[i][j];

}

}

gam=gg/dgg;

if(gg==0.0){

break;

}

for(i=0;i<__DISCRETIZE__+1;i++){
for(j=0;j<__DIM__;j++){
g[i][j] = -xi[i][j];

h[i][j] = g[i][j]+gam*h[i][j];

xi[i][j] = h[i][j];

}

}

}

분명히 괄호도 잘 막았고 for구문 쓰는 법도 맞았는데…

어디서 틀린거지 -_-;

C언어 쓰다가 이런 경우는 처음이다.

추가 – for문 안에 for문을 또 쓸때 인덱스로 들어간 i를 같은걸 쓰는 바람에 이런 비극이 벌어졌다. -_-; 바보.

for구문 무한루프”에 대한 5개의 생각

  1. 구차니

    내 머리속에 버그.txt

    변수를 재활용하는게 꼭 좋지만은 않더라구요.

    그래서 저는 재활용 변수는 temp로 시작하고

    저런 인덱스용 변수는 아예 독립을 시켜놔요 ㅠ.ㅠ

    응답
  2. snowall

    지금은 VB와 C를 둘 다 씁니다. VB는 업무용, C는 학습용이죠. VC++로 GUI를 하려고 생각하니 좌절스러워서 GUI프로그램은 다 VB로 하고 있네요 -_-;

    응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.