只有当用户在两种情况下按“Enter”时,程序才会继续。但是我的程序不会等待用户按“Enter”,然后转到代码的下一行。
int T1 ,T2;
char c1,c2;
printf("Enter Temperature T1: ");
scanf("%d",&T1);
printf("Enter Temperature T2: ");
scanf("%d",&T2);
printf("Press Enter after setting temperature T1\n");
scanf("%c",&c1);
while(c1 != '\n' && c1 != EOF);
printf("Press Enter after setting temperature T2\n");
scanf("%c",&c2);
while(c2 != '\n' && c2 != EOF);
答案 0 :(得分:1)
首先,在%c
(scanf(" %c",&c1);)
之前创建一个空格,因为没有空格的格式会读取下一个字符,即使它是空格,而带空格的格式会跳过空格(包括换行符)和读取下一个不是空格的字符。
其次,我在上面提到的scanf
之后的下一个循环将挂起你的代码,所以如果你想执行第二个printf
语句,请对它进行注释。