Программа продолжается, только если пользователь нажимает «Enter» в двух случаях. Но моя программа не ждет, пока пользователь нажмет «Enter» и перейдет к следующей строке кода.Почему моя программа не ждет нажатия клавиши («Enter») в C
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);
Использование fgets для чтения с клавиатуры, atoi для конвертирования с. scanf хранит ENTER также в буфере (stdin), буфер распределяется между вызовами scanf –
Поскольку клавиши Enter, которые вы нажали после того, как числа помещены во входной буфер как новые строки, которые будут читать форматы ''% c ''. –
'scanf ("% c ", &c1);' -> 'scanf ("% c ", &c1);' (обратите внимание на пробел) – artm