我的编程任务有问题,我循环遍历一个字符串并对字符的整数值求和。如以下代码所述。现在我将一个字符串传递给这个子例程。例如给出
num := '8888';
预期输出为
32
结果输出是
-12
我在 Linux 环境中使用 fpc pascal 编译器。任何关于为什么会发生这种情况的见解将不胜感激
procedure subRoutine1(num : string);
var
i : byte;
value : integer;
sum : integer;
begin
sum := 0;
for i := 0 to length(num) do
begin
value := Integer(num[i]) - 48;
sum := sum + value;
end;
writeln(sum);
end;