当前位置: 首页 > news >正文

日本网站在线免费观看电视剧semester at sea

日本网站在线免费观看电视剧,semester at sea,大理州城乡建设局网站,网站开发技术期末考试题【PTA刷题】 求子串(代码详解) 题目 请编写函数,求子串。 函数原型 char* StrMid(char *dst, const char *src, int idx, int len);说明:函数取源串 src 下标 idx 处开始的 len 个字符,保存到目的串 dst 中,函数值为 dst。若 len…

【PTA刷题】 求子串(代码+详解)

题目

请编写函数,求子串。

函数原型

char* StrMid(char *dst, const char *src, int idx, int len);

说明:函数取源串 src 下标 idx 处开始的 len 个字符,保存到目的串 dst 中,函数值为 dst。若 len 值不正确,则自动修正。若 idx 值不正确,则目的串为空串。

裁判程序

#include <stdio.h>char* StrMid(char *dst, const char *src, int idx, int len);int main()
{char a[128], b[128];int s, n;gets(a);scanf("%d%d", &s, &n);StrMid(b, a, s, n);puts(b);return 0;
}/* 你提交的代码将被嵌在这里 */

输入样例1

abcd
1 2

输出样例1

bc

输入样例2

abcd
1 5

注:5 不正确,按 3 处理。

输出样例2

bcd

输入样例3

abcd
-5 2

输出样例3


注:输出为空串。

代码

char* StrMid(char *dst, const char *src, int idx, int len) {// 检查参数是否合法if (idx < 0) {dst[0] = '\0'; // 如果 idx 不正确,将目的串设为空串} else {int src_len = strlen(src);if (idx >= src_len || len <= 0) {dst[0] = '\0'; // 如果 idx 超出源串长度或 len 不正确,将目的串设为空串} else {// 修正 len,确保不超出源串的长度if (len > src_len - idx) {len = src_len - idx;}// 拷贝子串到目的串strncpy(dst, src + idx, len);dst[len] = '\0'; // 确保目的串以 null 结尾}}

解析

这是一个关于字符串操作的题目,我会逐步解释这个函数的实现细节。这个题目是一个C语言函数,其目的是从源字符串中复制一部分到目标字符串中。

首先,让我们看一下这个函数的原型:

char* StrMid(char *dst, const char *src, int idx, int len);

这个函数接受四个参数:

  1. dst:目标字符串,函数将复制的子串存储在这里。
  2. src:源字符串,函数将从这里复制子串。
  3. idx:开始复制的位置。
  4. len:要复制的字符数。

现在,让我们逐步来看这个函数的实现。

首先,函数会检查参数是否合法。如果 idx 小于0,说明开始位置不正确,这时将目标串设为空串。

if (idx < 0) {dst[0] = '\0'; // 如果 idx 不正确,将目的串设为空串
}

然后,函数会计算源串的长度,并检查 idx 是否超过了源串的长度或者 len 是否不合法。如果是的话,同样将目标串设为空串。

else {int src_len = strlen(src);if (idx >= src_len || len <= 0) {dst[0] = '\0'; // 如果 idx 超出源串长度或 len 不正确,将目的串设为空串}

接下来,如果参数都合法,函数会修正 len 的值,确保不超出源串的长度。

else {if (len > src_len - idx) {len = src_len - idx;}

最后,函数使用 strncpy 函数从源串复制子串到目标串,并确保目标串以 null 结尾。

// 拷贝子串到目的串
strncpy(dst, src + idx, len);
dst[len] = '\0'; // 确保目的串以 null 结尾

最终,函数返回目标串的指针。

return dst;

这个函数的设计考虑了很多情况,确保了参数的合法性,并且在复制过程中进行了必要的修正。如果有任何问题,请随时提问。

在这里插入图片描述

http://www.zhongyajixie.com/news/57252.html

相关文章:

  • 天津建设工程信息网投标信息系统登录黑帽seo技术论坛
  • 免费建站网站自助建站的网站建站万网域名交易
  • 壹互联是网站公司吗抖音代运营
  • 营销网站的建立今天国际新闻最新消息10条
  • 网站设计 wordpress深圳网站优化
  • 高级网站开发工程师工资购物链接
  • 知识付费小程序源码长沙优化排名
  • 网站建设经典文章人工在线客服系统
  • 河北建设厅查询网站沈阳seo优化排名公司
  • 网站建设明细价格表网络营销的优化和推广方式
  • wordpress同步到天津seo推广
  • 哪几个网站适合自己做外贸深圳网络营销网站设计
  • 支付宝网站开发重庆seo网络推广关键词
  • 江门市住房和城乡建设局门户网站百度搜索电话
  • 房山做网站公众号代运营
  • 做网站找个人市场调研报告怎么写的
  • 腾讯云域名优惠英文网站seo发展前景
  • 外包网站开发安全吗磁力屋 最好用
  • 昆明电商网站开发海外seo推广公司
  • 专业的南昌网站建设关键词排名优化如何
  • 腾讯专门做数据标注的网站是百度商务合作电话
  • 农产品电商网站建设的总体目标百度营销登录入口
  • 企业seo哪些公司好seo优化网络公司排名
  • 中卫建设厅网站公司模板建站
  • 做调查网站赚钱今日头条seo
  • 网站空间大小有什么用一个企业seo网站的优化流程
  • 如何用百度云文件做网站百度竞价点击软件奔奔
  • 中牟做网站小程序开发模板
  • 北京政府网站建设免费广告推广软件
  • 北京大龙建设集团有限公司网站首页网络销售面试问题有哪些