#include<stdio.h>
void my_reverse(int len ,char arr[])
{
int left =0;
int right = len -1;
while(left < right)
{
char tmp = arr[left];
arr[left] = arr[right];
arr[right] =tmp;
left ++;
right --;
}
}
int main()
{
char arr[] = "tneduts a ma i";
int len =sizeof(arr)/sizeof(arr[0])-1;
my_reverse(len,arr);
printf("%s\n",arr);
return 0;
}
将字符串逆置输出:
首先,sizeof与strlen不一样,sizeof求长度求的是包括字符串结束标志\0的长度,真正的字符串长度len=sizeof(arr)/sizeof(arr[0])-1; 在确定right 长度时还要用len-1。
此处的void 型是因为该题只是把字符串地址换一下而已,并没有做其他变换,所以也不需要返回值。