我只是在对复数视力进行评估,并给出了以下问题.
"void子程序返回什么?"
我的印象是void子程序没有返回任何内容,但这不是提供的答案之一(多项选择题).
.Net是在后台返回值类型还是这个问题不正确?
我给出的选择是:整数布尔字符串日期时间
我是 perl 编程的新手,我正在尝试使用几个子例程来构建一个脚本。首先,我试图运行一个简短的模拟脚本来计算子程序的行为,但我无法理解输入。
这是我的代码:
sub prueba{
my (@array1, @array2)=@_;
if (scalar(@array1)<scalar(@array2)) {
print @array1,"\n";
} elsif (scalar(@array1)>scalar(@array2)){
print @array2,"\n";
}
};
my @primero=(1,5,9);
my @segundo=(1,7,8,9,6,5,6,9);
prueba(@primero,@segundo);
Run Code Online (Sandbox Code Playgroud)
我正在传递两个数组,我希望子例程根据这些数组检索答案,但是当我运行它时,我没有输出,甚至没有警告错误消息......我已经尝试使用对数组的引用,但仍然没有在职的:
sub prueba{
my (@array1, @array2)=@_;
if (scalar(@array1)<scalar(@array2)) {
print @array1,"\n";
} elsif (scalar(@array1)>scalar(@array2)){
print @array2,"\n";
}
};
my @primero=(1,5,9);
my @segundo=(1,7,8,9,6,5,6,9);
prueba(\@primero,\@segundo);
Run Code Online (Sandbox Code Playgroud) splice我正在尝试对数组使用子例程。我究竟做错了什么?
$foo = 123223;
@data = split(//, $foo);
splice_data(\@data);
printf(@data);
sub splice_data{
splice(@data,3,1,1);
return @data;
}
Run Code Online (Sandbox Code Playgroud)
输出:1
预期输出:123123
请参考下面的代码...
Private Sub Save_Click()
On Error GoTo err_I9_menu
Dim dba As Database
Dim dba2 As Database
Dim rst As Recordset
Dim rst1 As Recordset
Dim rst2 As Recordset
Dim rst3 As Recordset
Dim SQL As String
Dim dateandtime As String
Dim FileSuffix As String
Dim folder As String
Dim strpathname As String
Dim X As Integer
X = InStrRev(Me!ListContents, "\")
Call myprocess(True)
folder = DLookup("[Folder]", "Locaton", "[LOC_ID] = '" & Forms!frmUtility![Site].Value & "'")
strpathname = "\\Reman\PlantReports\" & folder & "\HR\Paperless\" …Run Code Online (Sandbox Code Playgroud) print "fruit list\n";
print "1.\tApple\n";
print "2.\tOrange\n";
print "3.\tPic\n";
print "3.\tBanana\n";
print "Based on fruit list above, please key in your favorite fruit name.\n";
%fruit_list = (
1 => 'Apple',
2 => 'Orange',
3 => 'Pic',
4 => 'Banana'
);
$fruit = $fruits[<STDIN>];
if ( $fruit == $fruit_list{'1'} ) {
func1();
}
elsif ( $fruit == $fruit_list{'2'} ) {
func2();
}
sub func1 {
print "executing function 1\n";
}
sub func2 {
print "executing function 2\n";
}
Run Code Online (Sandbox Code Playgroud)
fruit …Run Code Online (Sandbox Code Playgroud) 使用以下示例,ESP和EIP寄存器之间有什么区别?解释代码在做什么.
main PROC
0000 0020 call MySub
0000 0025 mov eax, ebx
.
.
main ENDP
MySub PROC
0000 0040 mov eax, edx
.
.
ret
MySub ENDP
Run Code Online (Sandbox Code Playgroud)
0000 0025是紧跟在CALL指令之后的指令的偏移量
0000 0040是MySub中第一条指令的偏移量
CALL指令将0000 0025推入堆栈,并将0000 0040加载到EIP中
|-------------| |----------|
| 0000 0025 |<--ESP | 0000 0040| EIP
|-------------| |----------|
| |
|-------------|
| |
|-------------|
Run Code Online (Sandbox Code Playgroud)
RET指令从堆栈弹出0000 0025到EIP(RET执行前的堆栈显示)
|-------------| |----------|
| 0000 0025 |<--ESP | 0000 0025| EIP
|-------------| |----------|
| |
|-------------|
| |
|-------------|
Run Code Online (Sandbox Code Playgroud) 我尝试在Perl中调用子例程,但是我得到了这个错误"Malformed prototype for main".我有一个子程序比较,我必须传递给它两个整数.
#!/usr/bin/perl
@ListA=(1,2,3);
@ListB=(2,3,4);
@ListResult;
#AND
sub Compare($p1,$p2){
if($p1 > sizeof(ListA) or $p2 > sizeof(ListB))
{
return;}
if(ListA($p1) = ListB($p2)){
push (@ListResult, ListA($p1));
Compare($p1+1,$p2+1);
return;
}
if(ListA($p1) > ListB($p2)){
Compare($p1,$p2+1);
return;
}
else {
Compare($p1+1,$p2);
return;
}
return;
}
Compare(1,1);
Run Code Online (Sandbox Code Playgroud)
请帮助我并解释如何更正此程序.