所以我是C的新手.我正在使用带有MinGW编译器的eclipse.我在第二章使用scanf和printf函数,我的程序正在运行,但只有在我将三个int输入scanf函数后才将语句打印到控制台.
#include <stdio.h>
int main(void){
int length, height, width, volume, dweight;
printf("Enter the box length: ");
scanf("%d", &length);
printf("\nEnter the box width: ");
scanf("%d", &width);
printf("\nEnter the box height");
scanf("%d", &height);
volume = length * width * height;
dweight = (volume + 165) / 166;
printf("Dimensions: l = %d, w = %d, h = %d\n", length, width, height);
printf("Volume: %d\n", volume);
printf("Dimensional Width: %d\n", dweight);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
控制台输出:
8 (user input + "Enter" + key)
10 (user input + "Enter" key)
12 (user input + "Enter" key)
Enter the box length:
Enter the box width:
Enter the box heightDimensions: l = 8, w = 10, h = 12
Volume: 960
Dimensional Width: 6
Run Code Online (Sandbox Code Playgroud)
任何见解?我期待它到printf,然后scanf用户输入如下:
Enter the box length: (waits for user int input; ex. 8 + "Enter")
Enter the box width: ...
Run Code Online (Sandbox Code Playgroud)
在致电之前,请fflush(stdout);
在每次printf()
之后添加scanf()
:
#include <stdio.h>
int main(void){
int length, height, width, volume, dweight;
printf("Enter the box length: "); fflush(stdout);
scanf("%d", &length);
printf("\nEnter the box width: "); fflush(stdout);
scanf("%d", &width);
printf("\nEnter the box height"); fflush(stdout);
scanf("%d", &height);
volume = length * width * height;
dweight = (volume + 165) / 166;
printf("Dimensions: l = %d, w = %d, h = %d\n", length, width, height);
printf("Volume: %d\n", volume);
printf("Dimensional Width: %d\n", dweight);
return 0;
}
Run Code Online (Sandbox Code Playgroud)