string(char * string) 实现:将参数字符串中的字符反向排列。

编写一个函数reverse_string(char* string)

实现:将参数字符串中的字符反向排列。

要求:不能使用C函数库中的字符串操作函数。

由于要求不能使用字符串操作函数那么自然想到利用指针变量和地址来进行反转

源代码:

#include <stdio.h>int reverse_string(char * string){int len=0;int i;char *p;char *q;char temp;p=string;//p指向字符数组的首地址while(*p!='\0') //计算字符数组的长度{len++;p++;}q=p-1;//q指向末地址p=string;//由于p的值已经改变所以要重新将数组的首地址赋值给pfor(i=0;i<=len/2;i++) //进行字符交换{temp=*p;*p=*q;*q=temp;p++;q–;}return 0;}int main(){char a[]="abcdefghi";reverse_string(a);printf("%s",a);return 0;}

小结:1.在第一遍的时候求字符数组长度的时候我用了strlen函数,实际上在C语言中并不能使用这个函数来求长度,所以我写了一个循环来求其长度。

2.第一次在求长度的时候我没有写p++,,在外面直接将len-1赋值给了q;但在编译的时候报出这样的错误

不能将一个值赋值给指针地址

而开始追寻他内心世界的真正财富

string(char * string) 实现:将参数字符串中的字符反向排列。

相关文章:

你感兴趣的文章:

标签云: