C风格阵列输入FORTRAN

时间:2015-03-25 22:48:44

标签: arrays input fortran

目前,我正在学习使用FORTRAN,并且读/写语句的尴尬在我编写的代码中有点障碍。我将如何实现这样的事情:

int main(void) {
    size_t length;
    printf("Enter array length: ");
    scanf("%zu", &length);

    int array[length];
    printf("Enter array: ");
    for (size_t i = 0; i < length; ++i)
        scanf("%d", &array[i]);

    return 0;
 }
在FORTRAN?我已阅读此链接:Read in array data into different sized Fortran arrays。但作为FORTRAN的新手,我的理解仍然有点先进。如果有人在他们高兴的情况下详细阐述了这一点,我会很感激,并展示了如何将其应用到我的问题中。这是我目前的FORTRAN代码:

! Sample program to demonstrate my intent
program main
    integer :: length, i
    integer, dimension(:), allocatable :: array

    write (*, '(A)', advance='no') "Enter array length: "
    read (*,*) length

    allocate(arrray(length))
    do i=1, length
      read (*,*) array(i)
    end do

    dellocate(array)
end program main

另外,有没有办法在FORTRAN中创建C风格的可变长度数组?我想分配&#34;数组&#34;如果可能的话,在堆栈而不是堆上,而不使用&#34; allocate&#34;和#34; deallocate&#34;声明。

最后,作为FORTRAN新手,我非常感谢您编写我的代码以及FORTRAN参考的好网站。

编辑:这里的要点是能够在一行上输入所有数组元素。然而,&#34;阅读&#34;期望每个整数在一个单独的行上。

0 个答案:

没有答案