拷贝字符串中的一个字符,求函数以及头文件
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
int m;
void copy(char *s1,char *s2,int m);
char s1[20];
char s2[20];
//n=sizeof(s1)/sizeof(int);
//n=sizeof(s1)会返回20,但这明显不是你需要的
gets(s1);
printf("输入字符串为:%s ",s1);
//这里用strlen(s1)可以得到实际字符串长度
scanf("%d",&m);
printf("m的值为:%d",m);
copy(s1,s2,m);
printf("result:%s\n",s2);
return 0;
}
void copy(char *p1,char *p2,int m)
{
int i=m;
while(*(p1+i-1))
{//没有必要纠结于n,直接通过字符串结束符判断就可以了
*(p2+i-m)=*(p1+i-1);
}
}
这样和你的程序更接近一些吧
#include <string.h>
int main()
{
int m;
void copy(char *s1,char *s2,int m);
char s1[20];
char s2[20];
//n=sizeof(s1)/sizeof(int);
//n=sizeof(s1)会返回20,但这明显不是你需要的
gets(s1);
printf("输入字符串为:%s ",s1);
//这里用strlen(s1)可以得到实际字符串长度
scanf("%d",&m);
printf("m的值为:%d",m);
copy(s1,s2,m);
printf("result:%s\n",s2);
return 0;
}
void copy(char *p1,char *p2,int m)
{
int i=m;
while(*(p1+i-1))
{//没有必要纠结于n,直接通过字符串结束符判断就可以了
*(p2+i-m)=*(p1+i-1);
}
}
这样和你的程序更接近一些吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询