[程序练习分享]特定字符拆分字符串

程序功能要求:

拆分一个带有空格的字符串,将拆分之后的结果存储在指针数组中。(指针数组中存储的是每段字符串的首地址)。

程序分析:

首先,我们需要定义一个定义一个字符数组来容纳输入的待拆分字符串,这个字符数组需要能够输入空格而不中断。接着,定义一个指针数组,用于接收拆分后字符串的地址。

在进行拆分工作时,首先找到第一个非空格的字符所在位置,将其记录在指针数组中,随后寻找后续内容中的空格字符,将其作为第一个字符串的结束标志'\0'。之后循环进行这一操作,直到整个字符串遍历完成。(这部分重点是结束标志'\0'的设置,这个分断的思路是重点。)

最后,输出拆分后记录在指针数组中的字符串检测结果即可。

程序实现:

  这里的[^\n]意为接收除了\n以外的一切字符,即只有回车会当作输入结束,可以在输入时往字符串中加入空格。

函数Myfun1的功能是实现字符串的拆分。

先检测一下传入参数是否正常,然后将原始字符串的地址赋给一个指针,便于应付以后可能需要原始字符串地址指针的情况。Myfun2的功能是查找并返回字符串中第一个非空格字符的地址。

找得到返回地址,找不到返回NULL。

 因为全为空格比较特殊,我们需要单独列出。后面的内容就可以进行首个空格转'\0',首个非空格转首地址的循环操作。

 这里重复调用Myfun2来获得首个非空地址。

在执行完Myfun1子函数后,我们可以得到一个存储着拆分后字符串内容的指针数组,将其输出。

 当然,最后不要忘记声明子函数。

 程序运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值