编写代码以接受用户输入(例如P0 x1 y1)以嵌套结构形式存储为一个点,其他两个点相同。但是,当使用scanf输入并检查printf时,我得不到正确的数字,例如scanf正在读取其他内容,建议会非常好,谢谢!
float x, x2, y, y2;
char Q, input;
nested triangle;
scanf("%c", &input);
if (input == 'Q' || input =='q')
return;
else
{
scanf(" %c %f%f",&input, &triangle.P0.x, &triangle.P0.y);
printf("points are\n%f \n%f \n", triangle.P0.x, triangle.P0.y);
}
scanf("%c", &input);
if (input == 'Q' || input =='q')
return;
else
{
scanf(" %c %f%f",&input, &triangle.P1.x, &triangle.P1.y);
printf("points are\n %f \n%f \n",input, triangle.P1.x, triangle.P1.y);
}
如果写入scanf("%c", &input);
,则将从先前输入input
的新行中读取。这通常不是您想要的。
因此,请写scanf(" %c", &input);
(注意%c
之前的空白)以跳过空格。