小编Dut*_*cko的帖子

当用作大小初始值设定项时,OpenVMS Pascal常量不是常量

我认为演示问题的最简单方法是举个例子.代码:

PROGRAM CONSTANTSTRING(OUTPUT);

CONST
    C_MaxLength = 30;

VAR
    small_string : VARYING[5] OF CHAR VALUE 'alpha';

PROCEDURE LocalProc(
    localstring : VARYING[C_MaxLength] of CHAR
);
BEGIN
    writeln('localstring length: ', localstring.LENGTH);
    writeln('localstring size: ', SIZE(localstring.BODY));
    writeln('C_MaxLength: ', C_MaxLength);
END;

BEGIN
    writeln('small_string length: ', small_string.LENGTH);
    writeln('small_string size: ', SIZE(small_string.BODY));
    writeln('C_MaxLength: ', C_MaxLength);

    LocalProc(small_string);
END.
Run Code Online (Sandbox Code Playgroud)

编译:

>pascal /version
HP Pascal I64 V6.1-116 on OpenVMS I64 V8.4
>pascal constantstringinit
>link constantstringinit
>run constantstringinit
Run Code Online (Sandbox Code Playgroud)

并输出:

small_string length:          5
small_string size:          5
C_MaxLength:         30
localstring length:          5
localstring …
Run Code Online (Sandbox Code Playgroud)

pascal openvms

3
推荐指数
1
解决办法
64
查看次数

标签 统计

openvms ×1

pascal ×1