怎么在字符串指定的位置插入字符
发布网友
发布时间:2022-10-06 07:44
我来回答
共1个回答
热心网友
时间:2023-10-22 10:53
设计过程:
定义两个字符串s2,s2,字符k
输入两个字符串 s1 、 s2 和 s1 中任意字符 k
先遍历 s1 找到指定字符 k,记录下当前位置
从k字符开始,按s2的长度后移其余的数据
将s2拷贝到k所在的位置
输出s1。
代码如下:
#include <stdio.h>#include <string.h>void main(){ char s1[100]; char s2[20]; char k; int i,pos,len; printf("input s1: ");scanf("%s", s1 ); printf("input s2: ");scanf("%s", s2 ); getchar();//滤掉回车符 printf("input k: ");scanf("%c", &k ); for( i=0;s1[i];i++ ) { if ( s1[i]==k ) break; } pos=i; //记录下待插入的位置 len=strlen(s2); //得到s2长度 for( i=strlen(s1);i>=pos;i-- ) //后移字符串 { s1[i+len]=s1[i]; } strncpy( &s1[pos], s2, len ); //插入数据 printf("%s\n", s1 ); //输出字符串}