#include <stdio.h>
int main()
{
double a=0;
char b=0;
scanf ("%d%c",&a,&b);
printf ("%d,%c", a, b);
return 0;
}
Это мой код для быстрой тестовой программы, которую я написал, чтобы играть с функцией scanf в C. Я пытаюсь, чтобы пользователь вводил что-то вроде 78X + 5 = 19 (затем ударил введите), а затем проанализируйте это на переменные a, b и c, где в этом случае a = 78, b = 5, c = 19. В примере кода, когда я печатаю в 78X, c не сохраняет значение b и только печатает «78», а затем завершает работу. Почему он не сохраняет значение b?Scanf непрерывный вход в C
Это не способ сделать это. «78X + 5 = 19» - это строка по отношению к C, поэтому вам нужно обработать все выражение в виде синтаксического анализа через него и получить требуемые значения для a, b и c. – Gopi
. Вы не собираетесь далеко продвигаться с ' scanf', так как он не очень гибкий, чем основной вход. Изучите использование библиотеки регулярных выражений или напишите более подробный парсер. –