C语言:字符数组的内容为;tneduts a ma i;,内容改为i am a student.只能开辟有限个空间

原创 2016年05月30日 17:14:18
#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 型是因为该题只是把字符串地址换一下而已,并没有做其他变换,所以也不需要返回值。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【C语言】有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".

有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。

有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".

用数组实现: #include int strlen(char *arr) { char *ret=arr; while((*ret++)!='\0') ; return ret-arr...

【C语言】”student a am i “和“we are happy”

1.有一个字符数组的内容为 : “student a am i”, 请你将数组的内容改为”i am a student”.

C语言字符数组初始化

  • 2012-07-28 10:32
  • 123KB
  • 下载

给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。例如:" i am a little boy.

import java.util.Scanner;public class Test { public static void main(String[] args){ Sca...

C语言字符数组初始化

  • 2013-08-12 17:19
  • 123KB
  • 下载

c语言字符数组初始化

  • 2011-11-03 13:14
  • 123KB
  • 下载

剑指offer之字符数组内容翻转问题

奇妙的字符翻转问题

C语言字符数组初始化

  • 2013-03-31 18:27
  • 123KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)