#include
void my_reverse(int len ,char arr[])
{
int left =0;
int right = len -1;
while(left
{
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不一样,求长度求的是包括字符串结束标志\0的长度,真正的字符串长度len为
=sizeof(arr)/sizeof(arr[0])-1; 在确定right 长度时还要用len-1。
此处的void 型是因为该题只是把字符串地址换一下而已,并没有做其他变换,所以也不需要返回值。
原文:http://10740184.blog.51cto.com/10730184/1707828