FORTRAN 刚学不久,想请问下这样写为什么不能实现数组内容互换的功能

Program main
implicit none

INTEGER M,N
real, dimension(:), ALLOCATABLE,target :: array1, array2
real, dimension(:), pointer      :: ptr1, ptr2, temptr 

PRINT*,"请输入数组A元素数"
READ*,M
ALLOCATE(ARRAY1(M))
PRINT*,"输入数组A"
READ*,ARRAY1

PRINT*,"请输入数组B元素数"
READ*,N
ALLOCATE(ARRAY2(N))
PRINT*,"输入数组B"
READ*,ARRAY2

    ptr1 => array1
    ptr2 => array2

    temptr => ptr1
    ptr1   => ptr2
    ptr2   => temptr
print*, array1
print*, array2
end

图片说明

https://blog.csdn.net/chd_lkl/article/details/83758912