$number=&input; print "$number\n"; # 入力サブルーチン sub input { my $number; while () { # 無限ループ print "012\n"; print "345\n"; print "678\n"; print "0-8の数字をいれてください。"; $number=<stdin>; chomp($number); if ($number>=0 && $number<=8) { # 数字チェック。文字列も0として通ってしまう。TT return $number; } else { print "入力が正しくありません。"; } } }
#include <stdio.h> int input(void) { int number; while (1) { # 無限ループ printf("012\n"); printf("345\n"); printf("678\n"); printf("0-8の数字をいれてください。"); scanf("%d",&number); # 数字以外の文字をいれると暴走します。TT if (number>=0 && number<=8) { # 数字チェック。 return number; } else { printf("入力が正しくありません。\n"); } } } void main (void) { int number; number=input(); printf ("%d",number); }
for ($i=0; $i<9; $i++) { $b[$i]==0; # 盤面初期化 } $number=&input(@b); # 盤面データを渡す print "$number\n"; # 入力サブルーチン sub input { my @b=@_; my $number; while () { # 無限ループ print "012\n"; print "345\n"; print "678\n"; print "0-8の数字をいれてください。"; $number=<stdin>; chomp($number); if ($number>=0 && $number<=8) { # 数字チェック。文字列も0として通ってしまう。TT if ($b[$number]!=0) { # 重複チェック print "そのマスはすでに入力済みです。\n"; } else { return $number; } } else { print "入力が正しくありません。"; } } }