您好、欢迎来到现金彩票网!
当前位置:21点 > 字符串 >

C语言求一个字符串的中点

发布时间:2019-09-03 04:49 来源:未知 编辑:admin

  为什么上面i/2还要-1,如果字符串是12345,那中心mid就是=5/2-1等于1,a[mid]怎么会是字符串的中心呢?

  麻烦高手讲解下....全家不多的积蓄都给你了...展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  推荐于2017-09-28展开全部strlen函数不会包括0,所以到这行“mid=i/2-1”时,mid的值确实为1,如果下面没有别的操作,那么就是教程错了。追问这是我看啊哈磊的啊哈算法的用栈解密回文的,

  就搞不懂为什么一个字符串的中心点的下标会是strlen(a)2-1.......那教程好像没别人说出错....追答这里他在下面有解释,到这行“mid=i2-1”时mid并不是真正的mid,因为是判断回文,所以他在奇数和偶数是采用不同方法的,如下:

  判断字符串的长度的是奇数还是偶数,并找出需要进行字符匹配的起始下标

  也就是偶数的情况下是把中点(mid)忽略掉直接取中点后面一个字符入栈的(mid+1),奇数则直接取中点(mid+1)的后面一项(mid+2)入栈的。

  展开全部字符串的结束符0是不会计算在字符串的长度中, 因为数组的索引是从0开始计数的.

  a[0]表示字符串中的第一个字符更多追问追答追问mid等于字符串中点的下标,12345的中点是3,3的下标是a[2],

  这个我感觉就是一个参照物问题了,对不懂C语言的人肯定不会这么认为吧,你写的程序应该是让用户来看的,你写12345的中点是2,不懂C语言的人肯定不会认同,况且函数strlen()计算出来的值是字符的个数,又不是数组下标的上限值。当然,对于程序本身来说,数组的中点是在2,这个一点错误没有。总之看你的用途了。

  这个确实有问题。不过strlen不会包括0是毫无争议的。所以按你自己的来,无视教程,,,

http://magaltouba.com/zifuchuan/468.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有