我试图执行下面的代码。但是,在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;
}
答案 0 :(得分:4)
这是一个非常经典的问题。您的输出流尚未刷新。通常这会在写完换行符后发生(你没有这样做)。如果您不想换行,可以在标准输出上发出强制刷新:
printf( "Please enter your age" );
fflush( stdout );
scanf( "%d", &age );
虽然我在这里,但我可以请你考虑一下你的评论风格吗?评论每行代码都是过分的。任何能够阅读代码的人都能理解每一行的作用,而无需评论。将评论放在他们自己的行上,只是概述了几行代码。我更愿意快速浏览一下我将要阅读的内容,以便了解是否要费心阅读。