C语言在字符串的指定位置插入字符3
发布网友
发布时间:2023-10-11 17:46
我来回答
共2个回答
热心网友
时间:2024-11-24 02:15
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;
}追问我要知道的是我写的哪里出了问题、
热心网友
时间:2024-11-24 02:16
for循环中应从尾部开始循环,如果从头部开始循环,每次的的str[temp] = str[temp-1]复制的都是第一次的temp的值,后面的每次循环赋值,都是复制的str[n]的值。
可改为如下代码:
for(temp=strlen(str)-1;temp >= 0;temp--)
{
if(temp>=n)
{
str[temp+1]=str[temp];
}
}