数据结构之字符串插入操作

/*
	字符串中插入个别字符
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//宏定义
#define N 50
//插入操作
void insert(char*,int,char);
//打印
void print(char*);

void main()
{
	char s[N];
	char c;
	int index;
	printf("请输入字符串:\n");
	gets(s);
	printf("请输入一个需插入的字符:\n");
	scanf("%c",&c);
	printf("请输入插入位置下标:\n");
	scanf("%d",&index);
	printf("**********\n");
	printf("字符串未插入前:\n");
	print(s);
	printf("**********\n");
	if(index<0 || index>strlen(s))
	{
		printf("插入失败!\n");
	}else{
		insert(s,index,c);
		printf("字符串插入后:\n");
		print(s);
		printf("**********\n");	
	}
}

void insert(char* s,int index,char c)
{
	int len=strlen(s);
	int i;
	for(i=len;i>index;i--)
	{
		s[i]=s[i-1];
	}
	s[index]=c;
	s[len+1]='\0';
}

void print(char* s)
{
	printf("%s\n",s);
}

数据结构之字符串插入操作