как заставить scanf не игнорировать пробелы и \ n в C - PullRequest
0 голосов
/ 10 ноября 2018

Итак, я сейчас изучаю код C в классе, мы получили назначение для кодера Ceaser.Мне удалось это сделать, однако теперь я столкнулся с вопросом, касающимся того факта, что они хотят, чтобы он признавал пробелы и новые строки в нем.я уже проверил онлайн и увидел более нескольких вариантов, но есть несколько проблем:

1) Я должен использовать scanf, поэтому не даю второй вариант

2) Я работаю собычные символы, а не строки, потому что в этом курсе они еще не научили этому, поэтому не предлагайте использовать char [] или строки или char *, потому что я не должен их использовать.заранее спасибо.

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете прочитать один символ за раз с помощью scanf, и пробел не будет проигнорирован:

#include <stdio.h>

int main(int argc, char *argv[]) {
  printf("Will print all characters typed, use ctrl-D to quit\n");
  char c;
  while (scanf("%c", &c) != EOF) {
    printf("%c", c);
  }
}
...