Cプログラミングにおけるfflush(stdin)の用途は何ですか? [closed] 質問する

Cプログラミングにおけるfflush(stdin)の用途は何ですか? [closed] 質問する

私は次のプログラムを持っています

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char ans[8];
    int i;
    for(i=1;i<=3;i++)
    {
        printf("\n What is the unit of traffic ?");
        scanf("%s",ans);
        fflush(stdin);

        if(stricmp(ans,"Earlang")==0)
        {
            printf("\nAnswer is correct");
            exit(1);
        }
        else
            if(i<3)
            printf("\n Try Again!\n");
    }
    printf("\n Nunit of traffic is Earlang:");
}

fflush(stdin)このプログラムでは は何に使用されますか?

ベストアンサー1

これは標準 C ではないため、動作は未定義です。

一部の実装では、バッファをクリアするためにこれを使用しますstdin

C11 7.21.5.2 よりfflush関数は、fflush入力ストリームではなく、出力/更新ストリームでのみ機能します。

ストリームが、最新の操作が入力されていない出力ストリームまたは更新ストリームを指している場合、fflush 関数により、そのストリームの未書き込みデータがホスト環境に配信され、ファイルに書き込まれます。それ以外の場合、動作は未定義です。

おすすめ記事