参考技术A才发现你这源程序混合了C、F77、F95三种语法…… 而且没有恰当使用private保护变量或者reduction。 正确的写法(F95+OpenMP): program sct use omp_lib implicit none integer k,dct dct=0 !$OMP parallel do reduction(+:dct) do k=1,1000 dct=dct+1 enddo !$OMP end parallel do write(*,*)"dct=", dct pause end program sct