I am trying to write a program to reverse a string passed from main() to another function, but am getting segmentation fault (most likely on line #32). Could you please point out my mistake?
Thanks.
Code:1 #include <stdio.h> 2 #include <string.h> 3 4 void reverse_string(char*, int start, int end); 5 6 int main() 7 { 8 char *str = "This is a Test String"; 9 10 11 12 reverse_string(str, 0, strlen(str)-1); 13 14 printf("str after reverse = %s\n",str); 15 16 return 0; 17 } 18 19 void reverse_string(char* str, int start, int end) 20 { 21 int i,j; 22 char temp_ch; 23 printf("entering reverse_string\n"); 24 printf("str = %s\n",str); 25 26 27 28 for(i=start,j=end; i<=end/2; i++,j--) 29 { 30 printf("i = %d\n",i); 31 temp_ch = str[i]; 32 str[i] = str[j]; 33 str[j] = temp_ch; 34 } 35 36 return ; 37 }



LinkBack URL
About LinkBacks


