Мне трудно понять getchar()
. В следующей программе getchar
работает как положено:
#include <stdio.h>
int main()
{
printf("Type Enter to continue...");
getchar();
return 0;
}
Однако в следующей программе getchar
не создает задержки, и программа завершается:
#include <stdio.h>
int main()
{
char command[100];
scanf("%s", command );
printf("Type Enter to continue...");
getchar();
return 0;
}
У меня есть следующий обходной путь, который работает, но я не понимаю, почему:
#include <stdio.h>
int main()
{
char command[100];
int i;
scanf("%s", command );
printf("Type Enter to continue...");
while ( getchar() != '\n') {
i=0;
}
getchar();
return 0;
}
Итак, мои вопросы:
1. Что делает scanf
? Почему scanf
делает это?
2. Почему моя работа работает?
3. Как можно эмулировать следующий код Python:
raw_input("Type Enter to continue")