Witam,
W poniższym fragmencie kodu mam do czynienia z niewłaściwym przysłanianiem zmiennych w pętli (skompilowany program nie zachowuje się tak jak by można było oczekiwać na poniższym kodzie).
double re,im;
for(q=0;q<200;q++){
im=1.0;//
re=1.0;//
for(n=0;n<10000;n++){
re+=1//*
im-=1//*
printf("%lf\t%lf\n",im,re);// tutaj re oraz im sie inkrementuje(dekrementuje)
}
printf("%lf\t%lf\n",im,re);//tutaj im oraz re mają zawsze wartość z początku pętli po q, czyli 1 a w zagnieżdżonej pętli ta wartość się przecież zmienia.
}
Co ciekawe, jak usunę dwie linie oznaczone przez *, w pętli po q wyświetlają się zmienione wartości z wewnętrznej pętli.
Gdyby ktoś nie wierzył, w załączniku program oraz potrzebny do uruchomienia plik typu wav(rozszerzenie po pobraniu trzeba zmienić).
Powyższy kod jest uproszczoną wersją tego co dzieje się między 23 a 36 linią kodu programu.