[image]20 c语言编程题,字符串排序填空问题,程序如下,不要百度已有答案,求大神详解

[image]20c语言编程题,字符串排序填空问题,程序如下,不要百度已有答案,求大神详解strlena开辟a的空间,它要把s插进去,不应该开辟a+k个空间吗?如果sk小... [image]20 c语言编程题,字符串排序填空问题,程序如下,不要百度已有答案,求大神详解strlen a开辟a的空间,它要把s插进去,不应该开辟a+k个空间吗?如果sk小于aj直接插入不就行了吗?为什么还要倒序枚举? 展开
 我来答
风若远去何人留
2016-11-29 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450101
专业C/C++软件开发

向TA提问 私信TA
展开全部
1 空间早就开辟好了
定义char a[20]的时候 就已经开辟了a的空间
strlen只是获取到当前有多少个元素。 这里是9

2 这里插入的方法, 是从后向前比较。
把所有比要插入值大的元素都向后移动一个位置(腾出空间来插入)
然后 把要插入的s[k]插入到a中

3 如果s[k]<a[j] 但是不移动位置
比如 cehiknqtw 插入f
那么 得到的位置是e后面 也就是j=2
如果不移动 直接赋值 就是cefiknqtw
原本的h就丢了。
先移动成cehhiknqtw 这里多了一个h,也就是要插入的位置。
再赋值cefhiknqtw
才是正确的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式