c语言在字符串中插入字符
① c语言中,如何在一字符串中插入字符
c[5]只有5个空间无法完全容纳字符串"hello",因为这个字符串需要占用6个字符位置。
所谓自动加'\0'的问题是:你写在双引号中的,编译程序会认为是字符串,会自动为你添加上一个字符串结尾符号0,而不是运行时添加的。
如果你用debug方式运行程序,调试环境自动会把你开设的char
a[5];进行初始化0的工作,这时你再将第1位初始化时,后面的0仍存在就好象字符串结尾已经存在了。如果非debug运行则没有这个初始化工作。
如果你用字符方式初始化应当写:char
c[6]={
'h','e','l','l','o','\0'
};
希望对你能有所帮助。
② C语言编程:将一个字符插入到字符串中的指定位置
Description:把字符串截取成2段,将指定字符插入,让你将它们再连接。
#include
<stdio.h>
#include
<string.h>
int
main(void)
{
char
str[256],s1[256],s2[256];
char
ch;
int
i,j=0,k=0;
printf("输入字符串:\n");
gets(str);
printf("输入要插入的字符和位置:\n");
scanf("%c%d",ch,n);
for(i=0;i<n-1;i++)
{
s1[j++]=str[i];
}
s1[j]=ch;//插入指定字符
for(j=i;j<strlen(str);j++)
{
s2[k++]=str[j];
}
strcat(s1,s2);
puts(s2);
return
0;
}
③ 用C语言编写一个在字符串中插入一个字符的程序
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#defineN100
voidInsert(char*s);
intmain()
{
charstr[N];
printf("Inputastring:");
gets(str);
Insert(str);
printf("Insertresults:%s ",str);
return0;
}
voidInsert(char*s)
{
charstr[N];
char*t=str;
strcpy(t,s);
for(;*t!='