2つの値を交換する
明解C言語 入門編 > 10. ポインタ >
2つの値を交換する
Perl
sub swap1 { my ($nx, $ny) = @_; my $tmp = $nx; $nx = $ny; $ny = $tmp; } sub swap2 { my ($nx, $ny) = @_; my $tmp = $$nx; $$nx = $$ny; $$ny = $tmp; } $na = 57; $nb = 21; printf("整数A:%d\n", $na); printf("整数B:%d\n", $nb); print "\n"; &swap1($na, $nb); printf("整数A:%d\n", $na); printf("整数B:%d\n", $nb); print "\n"; $na = 57; $nb = 21; &swap2(\$na, \$nb); printf("整数A:%d\n", $na); printf("整数B:%d\n", $nb); print "\n"; $na = 57; $nb = 21; ($na, $nb) = ($nb, $na); printf("整数A:%d\n", $na); printf("整数B:%d\n", $nb); print "\n";
実行結果
L:\>perl lesson_10_077.pl
整数A:57
整数B:21整数A:57
整数B:21整数A:21
整数B:57整数A:21
整数B:57