是我的代码的一部分(使用构造函数)。在此,我运行代码时,scanf之前的printf没有显示出来。我得到一个空白屏幕,我必须输入否,然后显示printf结果。有人可以帮我吗?我需要显示“输入点数”以便我能够理解我正在制作哪个条目
Discret::Discret()
{
rich = 0;
solve = 0;
total = 0;
int no;
double no;
printf("\n\n");
printf("==============================================================\n");
printf("Input:\n");
printf("Enter the number of points" );
scanf("%d",&no);
printf("==============================================================\n");
/************************************
*
* Material
*
************************************/
double youngs, poisson;
S = 1000;
P = 0.0;
material.resize(1);
material[0] = new Material(youngs, poisson);
}
答案 0 :(得分:1)
printf
适用于缓冲流。你需要冲洗它
printf("Enter the number of points" );
fflush( stdout);
//...
scanf("%d",&no);
printf("==============================================================\n");
fflush( stdout);
使用C ++流时,您将使用
std::cout.flush(); // or std::cout << flush;