dev c++
程式run 一半時會停止
我找到發現在一個副程式中的for 迴圈 出問題
在"第二個" for iz=0 程式就停止
測試過 iz 是其他值 就沒事
搞不懂 為啥麼會出現這樣的問題
副程式
extern double gradx(double*,int);
extern double grady(double*,int);
extern double gradz(double*,int);
extern double ADDAB(double,double);
extern double wkLx[],wkLy[],wkLz[],xp[],yp[],zp[];
extern int mcy,mcx,mcz; //mcx=mcy=mxz=60
void laplacevec(double wk[],int xcp,int ycp,int zcp){
double xx,yy,zz;
int i,ix,iy,iz;
for(iz=0;iz<mcz;iz++){
for(iy=0;iy<mcy;iy++){
for(ix=0;ix<mcx;ix++){
i=ix+iy*mcx+iz*mcx*mcy;
xp[i]=gradx(&wk[xcp+i],ix);
yp[i]=grady(&wk[xcp+i],iy);
zp[i]=gradz(&wk[xcp+i],iz);
}}}
for(iz=0;iz<mcz;iz++){ 這裡當iz=0 程式就停止
for(iy=0;iy<mcy;iy++){
for(ix=0;ix<mcx;ix++){
i=ix+iy*mcx+iz*mcx*mcy;
xx=gradx(&xp[i],ix);
yy=grady(&yp[i],iy);
zz=gradz(&zp[i],iz);
wkLx[i]=ADDAB(xx,ADDAB(yy,zz));
}}}
測試
iz=0; or iz=3 //iz=0 時 一會兒出現exe 已提止運作的小視窗
for(iy=0;iy<mcy;iy++){
for(ix=0;ix<mcx;ix++){
i=ix+iy*mcx+iz*mcx*mcy;
xx=gradx(&xp[i],ix);
yy=grady(&yp[i],iy);
zz=gradz(&zp[i],iz);
wkLx[i]=ADDAB(xx,ADDAB(yy,zz));
}}
有人有遇過這樣的問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.120.96
※ 編輯: scws 來自: 140.115.120.96 (12/03 20:34)
※ 編輯: scws 來自: 140.115.120.96 (12/03 20:38)
→
12/03 20:38, , 1F
12/03 20:38, 1F
→
12/03 20:40, , 2F
12/03 20:40, 2F
※ 編輯: scws 來自: 140.115.120.96 (12/03 20:41)
→
12/03 20:44, , 3F
12/03 20:44, 3F
→
12/03 20:44, , 4F
12/03 20:44, 4F
→
12/03 20:47, , 5F
12/03 20:47, 5F
→
12/03 21:01, , 6F
12/03 21:01, 6F
→
12/03 21:19, , 7F
12/03 21:19, 7F
→
12/04 00:44, , 8F
12/04 00:44, 8F