Мой код:
#include "stdio.h"
main() {
char a,b;
a=getchar();
b=getchar();
putchar(a);
putchar('\n');
putchar(b);
}
getchar() требует от пользователя ввести символ, а затем нажать клавишу ввода, чтобы присвоить его переменной. Я ожидал, что программа позволит мне ввести символ дважды, каждый раз заканчивая нажатием клавиши ввода. Но мне удалось ввести только одну строку символов, и программа автоматически прочитает первые два символа и назначит их каждой переменной. В чем проблема?
getchar()
читает символ, второй — новую строку. Много подобных вопросов здесь, кстати. - person Ingo Leonhardt   schedule 21.09.2017\n
). Таким образом, вы фактически вводите 2 символа за раз. - person P.P   schedule 21.09.2017#include"stdio.h" main() { char a,b; ...
должно быть#include <stdio.h> int main(void) { int a,b; ...
- person Weather Vane   schedule 21.09.2017getchar()
читает из входного буфера при нажатииEnter
. Поэтому, если вы наберетеa
, затемb
, а затемEnter
, вывод будетa
иb
. - person Weather Vane   schedule 21.09.2017