Все еще в режиме обучения и может быть следующий вопрос действительно глуп, но я не имею ни малейшего представления, почему это происходит ..
#include<stdio.h>
int main()
{
/* code to accept string and then a character from stdin */
char str[20], inp;
/*take string from stdin */
printf("string:\n");
scanf("%s",str);
fflush(stdin);
/*input a character */
printf("char:\n");
scanf("%c",&inp);/* code does not reach this point and exits */
}
Как уже упоминалось в комментарии, после ввода строки, например, для. 'strng' код просто выходит после печати char: но он не ждет, пока я введу символ. Насколько я понимаю, я дал размер массива, достаточно большой для хранения строки, и если введенная строка меньше размера массива str, компилятор автоматически добавит нулевой символ в конец строки и продолжит работу , Я что-то упустил или есть ошибка в моем коде. Пожалуйста, предложите.
Спасибо.