Guest User

Untitled

a guest
Jun 19th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char* strrev(char* start, char* end)
  5. {
  6. char *i = start;
  7. char *j = end;
  8.  
  9. while (i < j)
  10. {
  11. *i ^= *j;
  12. *j ^= *i;
  13. *i ^= *j;
  14.  
  15. ++i;
  16. --j;
  17. }
  18.  
  19. return start;
  20. }
  21.  
  22. int main()
  23. {
  24. char str[50] = "My Name Is";
  25. int length = strlen(str);
  26.  
  27. printf("Input: %s\n", str);
  28.  
  29. // Reverse the string
  30. strrev(str, str+length-1);
  31. printf("Reversed Input: %s\n", str);
  32.  
  33. char *start_of_word = str;
  34.  
  35. // Reverse each word
  36. int k;
  37. for (k = 0; k < length; k++)
  38. {
  39. if (str[k] == ' ' || str[k] == '\0')
  40. {
  41. strrev(start_of_word, str + k - 1);
  42. start_of_word = str + k + 1;
  43. }
  44. }
  45.  
  46. printf("Output: %s\n", str);
  47. }
Add Comment
Please, Sign In to add comment