用交换实现字符串翻转

来源:互联网 发布:东方财富通mac 编辑:程序博客网 时间:2024/05/17 00:54
#include<stdio.h>char *reverse_string(char *string){char *ret = string; //保存数组的首地址char *left = string;//指向数组的第一个字符char *right;        //指向数组的最后一个非'\0'字符char temp;          //临时变量,用于交换while(*string != '\0'){string++;}right = string-1;  //执行完while后,string指向'\0',string-1即指向数组的最后一个非'\0'字符while(left < right)//当left=right时,说明交换完毕,第一个与最后一个,第二个与倒数第二个。。。。依次交换,完成翻转{temp = *left;*left = *right;*right = temp;left++;right--;}return ret;}int main(){char str[] = "abcd";//char *str = "abcd"   程序崩溃,常量字符串无法改变printf("%s\n",reverse_string(str));return 0;}

0 0
原创粉丝点击