插入字符串strcpy(t,si+n+1)这句不模糊 求老师讲解
#include<stdio.h>#include<string.h> //为使用strchr、strcpy和strcat函数,需要添加该头文件
int main()
{
char s1[50],s2[50],t[50];
int n;
char ch,*ptr;
printf("请输入第一个字符串:");
gets(s1);
printf("您输入的字符串为:");
puts(s1);
next:printf("在该字符串的哪个字符后面插入新字符串:");
scanf("%c",&ch);
getchar();
ptr=strchr(s1,ch);
if(ptr==NULL)
{
printf("字符串\"%s\"中不存在字符\'%c\'\n",s1,ch);
goto next;
}
else
n=ptr-s1;
printf("请输入想要插入的新字符串:");
gets(s2); /
strcpy(t,s1+n+1); //将字符串s1中n+1位置开始的字符存放到字符串t中保存,就是这里不懂,s1在这里代表什么。不是说数组名是数组元素里面第一个元素地址吗,我试着输出了一个不是这样的,
s1[n+1]='\0';
strcat(s1,s2);
strcat(s1,t);
printf("插入后的结果为:\n%s",s1);
return 0;
}