Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Pascal是否自动“启动”;“修剪”;是函数输入参数的数组?_Arrays_Function_Parameters_Pascal - Fatal编程技术网

Arrays Pascal是否自动“启动”;“修剪”;是函数输入参数的数组?

Arrays Pascal是否自动“启动”;“修剪”;是函数输入参数的数组?,arrays,function,parameters,pascal,Arrays,Function,Parameters,Pascal,我正在开发一个Pascal-to-C端口,这两种语言在处理字符串方面的差异已经成为一个令人沮丧的问题 如果我声明一个大小为x的Pascal字符数组a,并将其作为输入参数传递给一个函数,该函数的输入参数定义为大小为x-z的字符数组B,其中z是一个正整数,那么Pascal一旦进入该函数后会做什么?数组A被截断,而B在函数内部被视为大小为x-z的数组吗 原始源代码的编写方式似乎表明它就是这样工作的,但我不熟悉Pascal 我不能发布代码,因为它是专有的,我也不太了解Pascal语法。然而,这将是一种大

我正在开发一个Pascal-to-C端口,这两种语言在处理字符串方面的差异已经成为一个令人沮丧的问题

如果我声明一个大小为
x
的Pascal字符数组
a
,并将其作为输入参数传递给一个函数,该函数的输入参数定义为大小为x-z的字符数组B,其中z是一个正整数,那么Pascal一旦进入该函数后会做什么?数组A被截断,而B在函数内部被视为大小为x-z的数组吗

原始源代码的编写方式似乎表明它就是这样工作的,但我不熟悉Pascal

我不能发布代码,因为它是专有的,我也不太了解Pascal语法。然而,这将是一种大致如下的情况:

type1 string[22]
type2 string[10]

//Function definition
function(type2 in)
    //Do stuff to the array
    print(in)

//Function call
type2 temp = "This is a string of 20"
function(inputString)
可能有语法错误

(* Types *)
type24 = packed array[1..24] of char;
type40 = packed array[1..40] of char;

(* Variable declaration *)
line : type40;

(* Function prototype *)
foo(var contents : type24) : boolean;

(* Function call *)
if ( foo(line) )
begin
end

请发布一些代码来解释你的问题(应该只有几行)。我不确定你到底在问什么。Pascal从不“修剪”数组,但如果没有代码,很难说它实际上做了什么;我不知道你从描述中看到了什么。我已经编辑了原始帖子,添加了一个伪代码示例。我的问题是,过程中的字符串“in”看起来像什么?您的“伪代码”不是实际的Pascal(它不会编译,因为函数声明错误,而且编译器不允许您将超过10个字符的字符串分配给
类型2
的变量)。请发布实际的可编译代码,说明您的要求。你现在发布的代码毫无意义-它不会编译,你创建了一个名为
temp
的变量,但用
inputstring
调用
函数(顺便说一句,它也不能命名为
函数
),但它也不能说明你试图解决的问题,因为它不是真正的伪代码。你问的是一个特定的语法类型问题,没有公布你所问的语法-除了“不,Pascal不修剪数组”之外,你希望如何得到一个答案?如果你在“处理Pascal到C端口”,并且你遇到了导致你问这个问题的问题,你应该有一些代表性的代码,你可以很快地匿名,并张贴,以说明问题。你为什么不发呢?