一道笔试题

某台企喜欢出这种题,几个月以前我参加其社招,此题让我挂掉,几个月后的昨天晚上校招,此题仍然出现,依旧让我挂掉,不爽,故想了想

题目是这样的,给出一个字符串 比如 char * src = "dhwj,fefife,ewioqwdsd"   ,给出一个分割字符串 char * split = ",gf" ,要求按照后面的字符串内容,将前面那个字符串分割,比如分割成  "dhwj"  "e"  "i"   "e" "wioqwdsd" 。这个函数类似与c标准库里面的strtok函数,且需要将最后的输出符

串保存成字符串链表形式。

这个程序,也就是将命中的src中相应的位置的字符改为空格,其实是改变了原字符串,故src的在使用时候,只能声明成字符数组形式,若声明成为字符串形式,则编译器会将其解释成常量字符串,是只读的,故若需要处理字符串形式的,还需要重新设计

 

其实如果是字符串形式的,在处理函数里面也只需记录其分割的小段的开头和结尾的指针,然后将其复制到某个字符数组里面,然后将这个字符数组加入到链表里面就可以了,但是不能用指针指向原字符串,在将这个指针加入链表,这样是不行的

 

 

写的程序bug应该不少   不过懒得改了 :-)

 

最后改下,那个insert函数里面既然已经有了n字符的个数,那就分配n个字符的字符数组,不必限定为100个了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值