3
main()
{
    int d,a;
    printf("Enter the digit :");
    scanf("%d",&d);
    printf("Enter another digit :");
    scanf("%d",&a);
}

出力: 数字を入力してください: 10 別の数字を入力してください:10

main()
{
    int d;
    char a[10];
    printf("Enter the digit :");
    scanf("%d ",&d);
    printf("Enter another digit :");
    scanf("%s ",a);
}

出力:

Enter the digit : 10
waiting for stdin 

との違いを説明できる人はいscanf("%d",&a)ますscanf("%d ",&a)か? scanfステートメントにスペースを追加すると、標準入力を待機するのはなぜですか?

4

2 に答える 2

4

scanf 形式の文字列内の空白は、スペースだけでなく、任意の空白文字と複数回一致するため、Enter キーを押すと、一致した文字列の一部になります。Ctl+D を押すと動作するはずです。

于 2012-10-03T08:55:28.060 に答える
-1

スペースがあるということは、スペースが必要でscanfあることを意味します。したがって、あなたがスペースに入るのを待ちます。

于 2012-10-03T08:59:44.370 に答える