banovski

String inversion

Aug 21st, 2021 (edited)
692
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. /* Задача: получить со стандартного ввода строку ASCII, передать указатель на нее
  4.  * вспомогательной функции, получить от вспомогательной функции указатель на
  5.  * строку, содержащую введенные символы, расположенные в обратном порядке,
  6.  * вывести строку с символами, введенными в обратном порядке; без применения
  7.  * функций для работы со строками. */
  8.  
  9. char *reverse(char *direct);
  10.  
  11. int main()
  12. {
  13.     char input[16];
  14.     printf("Enter a string (not more than 15 characters long): \n");
  15.     scanf("%[^\n]", input);
  16.     printf("%s", reverse(input));
  17.     return(0);
  18. }
  19.  
  20. char *reverse(char *direct)
  21. {
  22.     int x = 0;
  23.     int y, z;
  24.     static char reversed[16];
  25.  
  26. /* Определение длины строки */
  27.     while(*(direct + x))
  28.     {
  29.         x += 1;
  30.     }
  31.  
  32. /* Разворот строки */
  33.     for(y = x - 1, z = 0; y > 0, z < x; y--, z++)
  34.         *(reversed + z) = *(direct + y);
  35.  
  36.     return(reversed);
  37. }
  38.  
Add Comment
Please, Sign In to add comment