How to reverse the first N characters of a string in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
void strrev_first_n_chars(char *s, int pos) { 
    int len = 0;
     
    while (s[len] != '\0')
      len++;
  
    int end = pos - 1;
    for (int i = 0; i < pos - 1 && i < len - 1; i++, end--) {
      char tmp = s[i];
      s[i] = s[end];
      s[end] = tmp;
   }
  
} 
 
int main() {
    char *s = strdup("abcdefg"); 
    int pos = 3; 
     
    strrev_first_n_chars(s, pos);
  
    puts(s);
     
    free(s);
     
    return 0;
}
 
   
   
/*
run:
   
cbaedfg
   
*/

 



answered Jun 24, 2019 by avibootz
edited Jun 25, 2019 by avibootz

Related questions

1 answer 165 views
1 answer 167 views
1 answer 155 views
1 answer 208 views
1 answer 135 views
1 answer 181 views
1 answer 136 views
...