プログラムの動作が理解できません。scanf、ungetc、printf の順に呼び出します。
出力動作の背後にある理由を取得できませんでした。コードは次のとおりです。誰かが動作を明確にすると非常に役立ちます。
int main()
{
int n=0;
scanf("%d",&n);
ungetc(n,stdin);
printf("%d\n",n);
return 0;
}
gcc コンパイラと Linux プラットフォームでの出力: 最初に 90 を指定すると、別の数値を待機し、別の数値を指定すると 90 が出力されます。