启动C程序的问题

时间:2015-08-17 01:50:05

标签: c

我试图执行下面的代码。但是,在eclispe中,程序直到我输入一个字符然后按回车键才开始。例如,如果我点击跑步,我必须输入代表年龄的数字,甚至要求我输入我的年龄。我想知道如何解决这个问题。

int main() {

        int age;                          /* Need a variable... */

        printf( "Please enter your age" );  /* Asks for age */
        scanf( "%d", &age );                 /* The input is put in age */
        if ( age < 100 ) {                  /* If the age is less than 100 */
            printf ("You are pretty young!\n" ); /* Just to show you it works... */
        }
        else if ( age == 100 ) {            /* I use else just to show an example */ 
            printf( "You are old\n" );       
        }
        else {
            printf( "You are really old\n" );     /* Executed if no other statement is */
        }
        return 0;
}

1 个答案:

答案 0 :(得分:4)

这是一个非常经典的问题。您的输出流尚未刷新。通常这会在写完换行符后发生(你没有这样做)。如果您不想换行,可以在标准输出上发出强制刷新:

printf( "Please enter your age" );
fflush( stdout ); 
scanf( "%d", &age );

虽然我在这里,但我可以请你考虑一下你的评论风格吗?评论每行代码都是过分的。任何能够阅读代码的人都能理解每一行的作用,而无需评论。将评论放在他们自己的行上,只是概述了几行代码。我更愿意快速浏览一下我将要阅读的内容,以便了解是否要费心阅读。