私は C を学習している初心者で、オンライン講義から次のコードを理解しようとしています。文字列をスキャンして整数を探します。文字が検出されると、sscanf は失敗します。
int n; char c;
if (sscanf(string, " %d %c", &n, &c) == 1)
//return the integer
else
// fail
sscanf のマニュアル ページを読みましたが、戻り値のチェックとこのコードが機能する理由についてまだ混乱しています。「これらの関数は、割り当てられた入力項目の数を返します」と述べています。
sscanf が文字のみに遭遇した場合、それらは &c... に書き込まれますが、その場合 &n には書き込まれません。この場合、sscanf の戻り値は 1 のままだと思いますか?