Мой код:Простой в то время как петля
#include <stdio.h>
int main(void){
char input;
while(1){
printf("Repeat? [Y/N] ");
scanf("%c", &input);
if(input=='N' || input=='n'){
break;
}
}
return 0;
}
Ожидаемый результат:
Repeat? [Y/N] y
Repeat? [Y/N] y
Repeat? [Y/N] n //Program terminated
Выход:
Repeat? [Y/N] Repeat? [Y/N] y
Repeat? [Y/N] Repeat? [Y/N] y
Repeat? [Y/N] Repeat? [Y/N] n //Program terminated
... и проверить возвращаемое значение для 'scanf' –
NB: идиоматические Некоммерческие -терминирующий цикл в C является 'for (;;)', поскольку он избегает булевых выражений с постоянным значением в 'while (1)', на которые жалуются некоторые lints. – Jens