Как изменить через printf ширину выводимой на экран строки - C (СИ)

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

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

Здравствуйте, подскажите пожалуйста, как изменить через printf ширину выводимой на экран строки? допустим,в строке лежит "programmers" а мне нужно,чтобы длина строки была равна 5, то есть выводилось "progr",а остальное обрезалось. Вроде бы должно быть что то типа printf("%5.5s",.....) Что значат числа 5 и 5 перед s???

Решение задачи: «Как изменить через printf ширину выводимой на экран строки»

textual
Листинг программы
#include <stdio.h>
 
void writelnn(char *, int);
 
int main(void)
{
   char *str = "programmers";
   int n = 5;
   writelnn(str,n);
   return 0;
}
 
void writelnn(char *str, int n)
{
   if (n && str[0])
   {
      putchar(str[0]); 
      writelnn(++str, --n);
   } else
      putchar('\n');
}

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

В этом коде определенная строка выводится на экран с заданным количеством пробелов в начале строки. Пробелы реализуются путем печати символов новой строки (\n) в функции printf.

  1. #include — Включает файл стандартного ввода/вывода, который содержит прототипы функций для ввода и вывода данных.
  2. *char str = programmers;* — Объявляет переменную типа указатель на char (char) со значением programmers.
  3. int n = 5; — Объявляет переменную типа int (int) со значением 5.
  4. writelnn(str,n); — Вызывает функцию writelnn с аргументами str и n.
  5. *void writelnn(char str, int n)** — Объявляет функцию writelnn.
  6. if (n && str[0]) — Проверяет, что n не равно нулю и что первый символ строки str не равен нулю.
  7. { — Начало блока кода.
  8. putchar(str[0]); — Выводит первый символ строки str с помощью функции putchar.
  9. writelnn(++str, --n); — Рекурсивно вызывает функцию writelnn, увеличивая str на 1 и уменьшая n на 1.
  10. } — Конец блока кода.
  11. else — Если условие в if не выполнено.
  12. putchar('\n'); — Выводит символ новой строки (\n) с помощью функции putchar.
  13. } — Конец функции writelnn.
  14. int main(void) — Объявляет функцию main.
  15. { — Начало блока кода.
  16. *char str = programmers;* — Объявляет переменную типа указатель на char (char) со значением programmers.
  17. int n = 5; — Объявляет переменную типа int (int) со значением 5.
  18. writelnn(str,n); — Вызывает функцию writelnn с аргументами str и n.
  19. return 0; — Возвращает 0, указывая, что программа успешно завершилась.
  20. } — Конец блока кода и конец функции main.

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


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

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

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