C语言输入两个字符串,在第一个串的第m个字符后插入字符串2

基本上就是百度上搜到的某位大佬的回答,略改了一下,原文链接找不到了…感谢!

#include<stdio.h>

int main(){
    
    

    char s1[20], s2[20], s3[20];

    int n, i=0;
    
    // n代表插入到第一个字符串的位置
    scanf("%d",&n);
    
    // 第一个字符串
    scanf("%s",s1);
    
    // 第二个字符串
    scanf("%s",s2);
    
    
    int j=n;

    int m=0, k=0;
    

    while(s1[j]!='\0'){
    
    

        s3[m]=s1[j];

        m++;

        j++;

    }

    s3[m] = '\0';//加入字符串结束标识

    while(s2[i]!='\0'){
    
    

        s1[n+i]=s2[i];

        i++;
    }

    int l;

    l=n+i;

    while(s3[k]!='\0'){
    
    

        s1[l]=s3[k];

        k++;

        l++;
    }

    s1[l] = '\0';//加入字符串结束标识

    printf("%s",s1);

    return 0;
}

猜你喜欢

转载自blog.csdn.net/sdaujz/article/details/111461848