请问该如何利用指针编写一个函数:

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”。

千巷猫影
浏览 177回答 1
1回答

慕少森

#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);}
打开App,查看更多内容
随时随地看视频慕课网APP