Traveling Knight問題の非常に単純なBFS検索を行っています。残念ながら、私の入力はうまくいかないことにしました。このコードでは、正しい結果が得られます。
char start[2], destination[2];
scanf("%s", start); // input string is "e2"
printf("%d %d\n", start[0], start[1]); // start[0] = 101, start[1] = 50
(in ASCII, 101 is 'e' and 50 is '2')
私が使っているもの
scanf("%s", start); // input string is "e2"
scanf("%s", destination); // input string is "e4"
printf("%d %d\n", start[0], start[1]); // start[0] = 0, start[1] = 50
また
scanf("%s %s", start, destination); // input string is "e2 e4"
printf("%d %d\n", start[0], start[1]); // start[0] = 0, start[1] = 50
ただし、宛先配列ではこの種のエラーは発生しません。私は何か間違ったことをしましたか?これが間違いである場合、使用できる代替手段はありますか?
編集: 開始は、宛先と同様に char[2] として宣言されます。SSCCE
void main()
{
char start[2], destination[2];
scanf("%s", start); // input string is "e2"
scanf("%s", destination); // input string is "e4"
printf("%d %d\n", start[0], start[1]); // start[0] = 101, start[1] = 50
}