Следующий код сделает то, что вы хотите.
#include <stdio.h>
int main()
{
int num1, num2;
char operation[15];
printf("\nPlease Enter Input: ");
scanf("%s%d ,%d",operation,&num1,&num2); // note the space before the comma
printf("\nYou entered \"%s %d,%d\"\n",operation,num1,num2);
return 0;
}
Выполнение этого кода дает следующее (выход изменяется в зависимости от входа):
Please Enter Input: multiply 5,6
You entered "multiply 5,6"
Запуск его снова с пробелами в различных частях ввода:
Please Enter Input: multiply 8 , 120
You entered "multiply 8,120"
запустить этот код и попробуйте удалить пространство перед запятой в scanf и посмотреть, что произойдет, когда вы вводите «умножить 5, 7»
- Примечание:% s и% d автоматически игнорируют ведущие пробелы.
Есть много причудливых вещей, которые вы можете сделать, чтобы заставить scanf принять специально отформатированный вход. Если у вас есть другие вопросы, не стесняйтесь спрашивать.
Reference (с ++ сайт, но те же функции, с):
http://www.cplusplus.com/reference/cstdio/scanf/
Есть бесчисленное множество существующих вопросов на чтение и соответствующих строк. И даже сама страница 'scanf' man дает более чем достаточно информации для ответа на эту часть вашего вопроса. Проводили ли вы какие-либо фундаментальные исследования или поиски? – kaylum
На самом деле я искал и исследовал, но не мог понять ответы. Я только начал изучать С, и объяснения мне пока не ясны. Я не понимаю сурового отношения, хотя, я думал, что это место, чтобы задавать вопросы и учиться. В любом случае, я обязательно стану экспертом, прежде чем выкладывать другой вопрос. –
Дело не в том, чтобы быть экспертом. Речь идет о фундаментальных исследованиях и задании четкого вопроса. Если у вас есть идея, что «scanf» будет работать, внимательно изучите страницу руководства, найдите примеры и напишите код, чтобы попробовать. Лучший способ учиться - попытаться сделать это самостоятельно. Если код, который вы пишете, не работает, и вы не можете решить, зачем тогда возвращаться, чтобы показать свой код и задать конкретный вопрос об этом коде. Как бы то ни было, ваш вопрос не сформулирован таким образом, чтобы дать понять, с какой конкретной проблемой вы столкнулись. – kaylum