Глюк с printf при выводе %s - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В visual studio 2015 при выполнении указанной ниже команды, в консоли происходит перевод строки, хотя его не должно быть.
printf("%s ", variable);
Я проверил такой же код в Dev-CPP, там все нормально. Не вижу смысла писать весь код. Заранее спасибо.

Решение задачи: «Глюк с printf при выводе %s»

textual
Листинг программы
char buffer[256];
fgets(buffer, sizeof buffer, stdin);
 
size_t length = strlen(buffer);
if (length > 0 && buffer[length - 1] == '\n')
  buffer[length - 1] = '\0';

Объяснение кода листинга программы

  1. Создается массив типа char с именем buffer и размером 256 элементов.
  2. Функция fgets() заполняет данный массив со стандартного ввода (stdin).
  3. Вычисляется длина строки, хранящейся в массиве buffer с помощью функции strlen().
  4. Если длина строки больше 0 и последний символ равен '\n' (т.е. это символ новой строки), то этот символ заменяется на символ конца строки '\0'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы