* test program for treating complex values and the dimension definition complex a(4) real b(4) integer i do 100 i=1,4 a(i)=cmplx(real(i-1),real(i)) b(i)=a(i)*a(i) 100 continue print *,'before subroutine call' print *,'a=',a(1),a(2),a(3),a(4) print *,'b=a^2=',b(1),b(2),b(3),b(4) print *,'' call cal_square(a,b) print *,'after subroutine call' print *,'a=',a(1),a(2),a(3),a(4) print *,'b=a^2=',b(1),b(2),b(3),b(4) print *,'' end subroutine cal_square(a, b) dimension a(*),b(*) integer i do 100 i=1,4,1 b(i)=cmplx(a(2*i-1),a(2*i))*cmplx(a(2*i-1),a(2*i)) 100 continue print *,'during subroutine calling' print *,'a=',a(1),a(2),a(3),a(4),a(5),a(6),a(7),a(8) print *,'b=a^2',b(1),b(2),b(3),b(4) print *,'' end ------ result ---- before subroutine call a= (0.,1.) (1.,2.) (2.,3.) (3.,4.) b=a^2= -1. -3. -5. -7. during subroutine calling a= 0. 1. 1. 2. 2. 3. 3. 4. b=a^2 -1. -3. -5. -7. after subroutine call a= (0.,1.) (1.,2.) (2.,3.) (3.,4.) b=a^2= -1. -3. -5. -7. ------