主题:赋值问题
请教问题
11 si(i)=PhaseType
if(AmpliType.eq.-99999) then
cb(i)=0
12 si(i)=0
if(ic.eq.1.and.i.ne.1) then
ic=0
is(i)=1
is(1)=i
cb(i)=1
cb(1)=0
endif
endif
22 si(i)=PhaseType
33 write(*,'(3i6)') PhaseType,si(i),I
上面那段程序里,我把 si(i)=PhaseType放在11段位置赋值时33段语句输出结果如下
0 0 1
0 0 2
0 0 3
2 0 4
2 0 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
第一列和第二不一样,结果不正确.
移到22的位置si(i)=PhaseTyp的赋值时,33段语句输出结果是正确的,
0 0 1
0 0 2
0 0 3
2 2 4
2 2 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
检查发现,只要去除12行的语句,就不会出现赋值不正确的问题。我检查si的定义没有错,不知道是什么原因。多谢了。
11 si(i)=PhaseType
if(AmpliType.eq.-99999) then
cb(i)=0
12 si(i)=0
if(ic.eq.1.and.i.ne.1) then
ic=0
is(i)=1
is(1)=i
cb(i)=1
cb(1)=0
endif
endif
22 si(i)=PhaseType
33 write(*,'(3i6)') PhaseType,si(i),I
上面那段程序里,我把 si(i)=PhaseType放在11段位置赋值时33段语句输出结果如下
0 0 1
0 0 2
0 0 3
2 0 4
2 0 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
第一列和第二不一样,结果不正确.
移到22的位置si(i)=PhaseTyp的赋值时,33段语句输出结果是正确的,
0 0 1
0 0 2
0 0 3
2 2 4
2 2 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
检查发现,只要去除12行的语句,就不会出现赋值不正确的问题。我检查si的定义没有错,不知道是什么原因。多谢了。