Advertisement
levartolona

C_PRG_LANG_EX_4.13

Feb 1st, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void reverse(char *s);
  5. void reverse_rec(char *s, int left, int right);
  6.  
  7. void reverse(char *s)
  8. {
  9.     int end;
  10.     for (end = 0; *(s + end);)
  11.         end++;
  12.     end--;
  13.  
  14.     reverse_rec(s, 0, end);
  15. }
  16.  
  17. void reverse_rec(char *s, int left, int right)
  18. {
  19.     if (left >= right)
  20.         return;
  21.  
  22.     char c = *(s + left);
  23.     *(s + left) = *(s + right);
  24.     *(s + right) = c;
  25.  
  26.     reverse_rec(s, left + 1, right - 1);
  27. }
  28.  
  29. int main(void)
  30. {
  31.     char str[256] = "qweasd";
  32.     reverse(str);
  33.     printf("%s", str);
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement