scanf («% [^ \ n] s», a) vs gets (a)
Мне сказали, что не следует использовать scanf, когда пользователь вводит строку. Вместо этого, перейдите к get () большинством экспертов, а также пользователями StackOverflow. Я никогда не спрашивал об этом в StackOverflow, почему нельзя использовать scanf over get для строк. Это не фактический вопрос, но ответ на этот вопрос очень ценится.
Теперь перейдем к актуальному вопросу. Я сталкивался с этим типом кода -
scanf("%[^\n]s",a);
Это читает строку, пока пользователь не введет символ новой строки, рассматривая пробелы также как строку.
Есть ли проблема, если я использую
scanf("%[^\n]s",a);
а не получает?
Is звучит более оптимизированно, чем функция scanf, как звучит, get предназначен исключительно для обработки строк. Пожалуйста, дайте мне знать об этом.
Обновить
Этот ссылка помогла мне лучше понять это.