相关疑难解决方法(0)

Fortran CHARACTER(LEN =*)仅适用于伪参数或PARAMETER

我想打印以下输出

*****
****
***
**
*
Run Code Online (Sandbox Code Playgroud)

使用递归子程序.我的代码如下:

PROGRAM PS
IMPLICIT NONE

CALL print_star(5, '*')

CONTAINS
    RECURSIVE SUBROUTINE print_star(n, star)
    INTEGER :: n
    CHARACTER(LEN = *) :: star
    CHARACTER(LEN = *) :: new_star
    IF (n > 1) THEN
        new_star = star // '*'
        CALL print_star(n - 1, new_star)
    END IF
    print *, star
    END SUBROUTINE print_star
END PROGRAM PS
Run Code Online (Sandbox Code Playgroud)

然后它返回错误:

 CHARACTER(LEN = *) :: new_star
                           1
Error: Entity with assumed character length at (1) must be a dummy argument or a …
Run Code Online (Sandbox Code Playgroud)

recursion fortran character

4
推荐指数
1
解决办法
5631
查看次数

标签 统计

character ×1

fortran ×1

recursion ×1