龙空技术网

C语言-字符串间隔提取字符

诗男说故事 110

前言:

此刻各位老铁们对“c中截取字符串”大约比较关注,小伙伴们都想要剖析一些“c中截取字符串”的相关知识。那么小编同时在网上搜集了一些关于“c中截取字符串””的相关资讯,希望各位老铁们能喜欢,看官们一起来学习一下吧!

①命令行

#include< stdio.h>

#include< string.h>

~

②定义函数

void fun(char*s0,char*s1,char*s2,char*s3)

/*从s0中依次提取字符存入s1s2s3中,

也可以理解为s1间隔3个字符从s0中提取。*/

~

③定义变量与赋初值

/*指针变量,用于定位索引。*/

{char*p1=s0,*p2=s0+1,*p=s0+2;

/*索引变量,定义下标*/

int i=0,j=0,k=0;

/*索引范围,定义下标移动范围*/

int len=strlen(s0);

④循环函数

/*指针移动范围<(起始地址+偏移量)*/

while(p1<s0+len||p2<s0+len||p3<s0+len)

/*3个条件语句,分别将3个索引指针所指的值储存起来。*/

{if(p1<s0+len)

{s1[i++]=*p1;

/*储存*/

p1=p1+3;}

/*间隔*/

if(p2<s0+len)

{s2[i++]=*p2;

/*储存*/

p2=p2+3;}

/*间隔*/

if(p3<s0+len)

{s3[i++]=*p3;

/*储存*/

p3=p3+3;}

/*间隔*/

}

/*指定字符串结尾,搭配字符串输出函数puts*/

s1[i]='\0';

s2[j]='\0';

s3[k]='\0';

/*或者s3[k]=0,'\0'的ASCLL码为0。*/

}

⑤主函数

viod main()

{char s0[30],s1[10],s2[10],s3[10];

printf("输入字符串\n");

gets(s0);

fun(s0,s1,s2,s3);

puts(s1);puts(s2);puts(s3);

/*字符串输出函数puts,必须指定字符串结束标志'\0'。*/

}

标签: #c中截取字符串