Извините за, возможно, глупый вопрос, но я хотел немного попрактиковаться в циклах и пришел к этой идее. В основном он просит вас войти или нет в цикле, а когда вы в нем, он просит вас что-то сделать. Проблема заключается в том, что сразу после того, как я вхожу в цикл, он дважды печатает строку printf, прежде чем перейти к scanf и ожидать ввода. Я не могу понять это. Любая помощь приветствуется! Вот код:
#include <stdio.h>
int main()
{
char check = 'a';
char int_check = 'a';
int b = 0;
printf("want to go in? [y or n]\n");
scanf("%c",&check);
if ( check == 'y') {
while (1){
printf("Waiting: \n");
scanf("%c",&int_check);
if ( int_check == 'q'){
printf("You're out, bye!\n");
break;
};
};
} else if ( check == 'n'){
printf("You're not in, see ya!\n");
}else {
printf("Please, type 'y' or 'n'\n");
};
return 0;
}
scanf
в циклеwhile
. В пункте назначения есть пробел. Это хороший пример для обучения хорошему стилю, когда кто-то изучает язык (например, наличие пробела после запятой в списке аргументов и т. д.). - person Platinum Azure   schedule 24.02.2012