void substr(char *s,char *t,int start, int count)它将指针s所指的字符串中第start个字符开始的count个字符组成的子字符串复制成指针t所指的字符串(若start的值超过了字符串s的长度,则复制的子字符串为空串;从start到s的末尾的字符不足count个,则只复制从start到末尾的字符所组成的子字符串)。再在main()函数中以不同的实际字符串作为实际参数调用substr()以验证其正确性。例如:char *s="123456789abcdefg";求第5个字符开始的7个字符组成的子字符串为:”56789ab”,又如,求第9个字符开始的12个字符组成的子字符串为:”9abcdefg”。
1 回答

慕少森
TA贡献2019条经验 获得超9个赞
#include <string.h>
#include <stdio.h>
void substr(char *s,char *t,int start, int count)
{
int i = 0;
if (s==0 || t==0)
return;// 空指针不作处理
for (i=0;*s!=0&&i<start-1;i++,s++);
for (i=0;(*(t+i)=*s++)&&i<count;i++);
if (i==count)
t[count]=0;
}
main()
{
char t[64];
char *s="123456789abcdefg";
substr(s,t,5,7);
printf("%s\n",t);
substr(s,t,9,12);
printf("%s\n",t);
}
添加回答
举报
0/150
提交
取消