は、このコードの行では何が起こったことになります。奇妙scanfの引数
char Message[10];
scanf("%s%*",&Message,'?');
それは2行を読み込み、それが二行目をigonreますなぜ?
それは私に私がscanf referenceを参照してください
`printf("%s",Message)`
は、このコードの行では何が起こったことになります。奇妙scanfの引数
char Message[10];
scanf("%s%*",&Message,'?');
それは2行を読み込み、それが二行目をigonreますなぜ?
それは私に私がscanf referenceを参照してください
`printf("%s",Message)`
を使用し、出力として、最初の行なります:[タイプ]はscanf関数があるタイプにアスタリスクプレフィックス(すなわち「%* [タイプ]」形式の文字列を、タイプ指定子、たとえばd
またはs
)は、読み取られた値が無視されることを意味します。だから '?'パラメータは実際には "placeholder"として存在し、scanf
が2つの値を読み取ることを示します。
質問( "%*")に示されている形式の文字列は無効です(型指定子がありません)。これは、呼び出された呼び出しが未定義の動作になることを意味します。
'%*'は完全な書式指定子ではありません(無視する変換の型には文字がありません。たとえば 's'など)。したがって、' scanf'の呼び出しは無効です。そして、これが私のdownvoteの理由です。他の有権者:事実確認! – u0b34a0f6ae
"Strange" how ?? 「2つの行と2つ目の行を読みます」何? –