当我们想要交换一个字符串的顺序,我们应该怎么做呢,例如“abcdefg”我们要转化为“gfedcba”,那我们来看看下面的代码
1. #include<stdio.h> 2. #include<string.h> 3. void exchange(char *str) 4. { 5. int left=0; 6. int right=strlen(str)-1; 7. char c; 8. while(left<right) 9. { 10. c=str[left]; 11. str[left]=str[right]; 12. str[right]=c; 13. left++; 14. right--; 15. } 16. } 17. int main() 18. { 19. char arr[20]="you are a pig"; 20. exchange(arr); 21. printf("%s\n",arr); 22. return 0; 23. }
利用c语言里的库函数,strlen()"头文件:#include<stdio.h>"去完成字符串里的元素进行交换,最后达到字符串交换。其实我们也可以,不用库函数,用一个函数去平替strlen(),这个函数得靠自己实现,他的功能与strlen()差不多,如下
1. #include<stdio.h> 2. int mystrlen(char *str) 3. { 4. int count=0; 5. while(*str!='\0') 6. { 7. count++; 8. str++; 9. } 10. return count; 11. } 12. void exchange(char *str) 13. { 14. int left=0; 15. int right=mystrlen(str)-1; 16. char c; 17. while(left<right) 18. { 19. c=str[left]; 20. str[left]=str[right]; 21. str[right]=c; 22. left++; 23. right--; 24. } 25. } 26. int main() 27. { 28. char arr[20]="you are a pig"; 29. exchange(arr); 30. printf("%s\n",arr); 31. return 0; 32. }
他们俩的结果都是一样的