-1

ここで何が悪いのかわかりますか?

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

int test (void)
{
    int i;
    printf("Enter a number: ");
    scanf("%d",&i);

    return i;
}

int main (void)

{

   test();

   return 0;
}

これは単純な例ですが、何らかの理由で、scanfを削除しない限りmainは実行されません。

4

2 に答える 2

1

'\n'printf 文字列の末尾には常に a を使用してください。これにより、出力バッファがフラッシュされ、文字列が出力されます。プログラムにプリントを追加します。次のようにプログラムを書き直すことができます。出力は、プログラムで何が起こっているかを理解するのに役立ちます。

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

int test (void)
{
    int i;
    printf("Enter a number: \n");
    scanf("%d",&i);
    printf("You just eneterd : %d\n",i);
    return i;
}

int main (void)

{
   printf("About to call test() \n");
   test();
   printf("Done calling test() \n");
   return 0;
}

これらの基本的なことを理解するには、優れた C プログラミングの本を手に入れたほうがよいでしょう。Cプログラミング言語をお勧めします

于 2012-11-12T04:51:31.610 に答える
0

fflush() を使用するか、printf 関数の最後に '\n' 文字を使用して、最終的に std 出力バッファーをフラッシュする必要があると思います。チェックするには、値を読み取った直後に変数の値を出力するために printf() を使用します。

それが役立つことを願って....

于 2012-11-12T05:03:57.980 に答える