设置函数Succ(Pascal)

问题描述 投票:0回答:3

如何在 Pascal 函数 Succ 中设置? 我的意思是,当我将 Succ 放入代码中时,它会将字符的序号移动到下一个位置。但只有一次。有没有办法让它移动三次而不是一次?

我在互联网上找到了这段代码:

    function Succ (X: ordninal_type): ordninal_type;
    begin
      Ord (Succ (X)) = Ord (X) + 1;
    end;

我的想法是将 + 1 替换为 + 3,但这给我带来了如下错误:

program.lpr(6,36) 错误:找不到标识符“ordninal_type”
program.lpr(19,23) 错误:参数号的类型不兼容。 1:得到“查尔”, 预计“

那么我应该如何设置该功能,所以我会在代码中设置它,例如 ->

CHARACTER:=Succ(CHARACTER);

function pascal
3个回答
2
投票

'Succ' 返回当前值之后的后继值(下一个值)。它不能增加超过 1,因为只有一个“下一个值”。

使用

Inc
代替:

Inc(YourVariable, 3);

或者可以直接在代码中递增:

YourVariable := YourVariable + 3;

如果您正在处理字符值(数据类型

Char
),您也可以使用
Inc

Ch := 'A';
Inc(Ch, 3);  // Ch is now 'D'

1
投票

该代码与您输入的完全一致吗?如果是这样,请尝试“ordinal_type”而不是“ordninal_type”

我不知道这里是否还有其他问题,但类型肯定应该拼写正确。


0
投票

ISO 标准 10206“扩展 Pascal”定义

succ
pred
可以接受可选的第二个
integer
参数,从而完全按照您想要的方式进行操作。

program successorDemo;
    type
        enumerationType = (first, second, third, fourth, fifth);
    var
        x: enumerationType;
    begin
        x := succ(first, 3);
        { `x` is now `fourth` }
    end.

不幸的是,很少有处理器支持扩展 Pascal。 GNU Pascal Compiler接受上述代码,但 GPC 被视为废弃软件。 今天,FreePascal 编译器打算支持扩展 Pascal,但从 FPC 版本 3.2.2 开始,上述代码不被接受。

© www.soinside.com 2019 - 2024. All rights reserved.