Как сканировать пустую строку перед строкой char
я хочу сканировать пустую строку перед строкой char ... но я не могу этого сделать
вход
2
азбука
ожидаемый результат
азбука
фактическая производительность
азбука
азбука
ниже я дал свой код.....
я уже пробовал fgets тоже но он показывает тот же результат что и в получает дело
Что я уже пробовал:
#include <stdio.h> #include <string.h> int main() { char s[10000]; int t; scanf("%d\n",&t); while(t>0) { gets(s); puts(s); t--; } return 0; }
Patrice T
Может быть, вам стоит объяснить, что должна делать ваша программа !
Пример ввода и вывода тоже не повредит.
OriginalGriff
Начните с правильного отступа вашего кода - я сделал это для вас - чтобы он был действительно читаемым.
Затем отсортируйте ваши имена переменных: одна символьная переменная может быть легко набрана, но они не делают c0ode читабельным, поскольку я понятия не имею, что любой из них должен делать. Вызов "s" "source" или аналогичного делает дополнительный символ в современных IDE, но это делает код самодокументируемым и намного более понятным.
На данный момент я понятия не имею, что должен делать ваш код или что он делает на самом деле!
Richard MacCutchan
Похоже, ваш код работает. Не забывайте, что строка, которую вы вводите, будет отображаться на консоли до того, как она будет повторена программой. Следовательно, abc дважды.
Richard MacCutchan
Я проверил это, и оказалось, что gets
ничего не возвращает, если входные данные не вводятся.
Member 13887543
я
даже если я даю ' '(пробел) как символ, он не читает его.
пробел должен быть напечатан так, как они r символов..... это не пустая строка
Richard MacCutchan
Проблема вызвана тем, что scanf
продолжайте потреблять входные данные до тех пор, пока не будет прочитан непустой символ. Просто еще одна причина, почему я никогда не использую scanf
.