编织一个程序,将字符串的第m个字符开始的全部字符复制成另一个字符串
5个回答
展开全部
代码如下:
#include <stdio.h>
#include <string.h>
void Replace(char *original, char *r, int start)
{
if (original == NULL || r == NULL || start < 0) return;
int i = 0;
while (original[i + start] != '\0' && r[i] != '\0')
{
original[start + i] = r[i];
i++;
}
original[start + i] = '\0';
}
int main()
{
char str[1024] = {0}; // 待复制的字符串
char replace[1024] = {0}; // 要替换成什么
int m = 0; // 第几个字符
printf("请输入源字符串:");
scanf("%s", str);
printf("请输入要替换成什么字符串:");
scanf("%s", replace);
printf("请输入从第几位开始替换:");
scanf("%d", &m);
printf("开始替换......\n");
Replace(str, replace, m);
printf("替换完成,结果为:%s\n", str);
return 0;
}
======================
希望符合你的要求
#include <stdio.h>
#include <string.h>
void Replace(char *original, char *r, int start)
{
if (original == NULL || r == NULL || start < 0) return;
int i = 0;
while (original[i + start] != '\0' && r[i] != '\0')
{
original[start + i] = r[i];
i++;
}
original[start + i] = '\0';
}
int main()
{
char str[1024] = {0}; // 待复制的字符串
char replace[1024] = {0}; // 要替换成什么
int m = 0; // 第几个字符
printf("请输入源字符串:");
scanf("%s", str);
printf("请输入要替换成什么字符串:");
scanf("%s", replace);
printf("请输入从第几位开始替换:");
scanf("%d", &m);
printf("开始替换......\n");
Replace(str, replace, m);
printf("替换完成,结果为:%s\n", str);
return 0;
}
======================
希望符合你的要求
展开全部
void FnNCopy(const char*ch,int m,char ch2)
{
int n=m-1;
for(int i=0;ch[n];i++,n++)
ch2[i]=ch[n];
ch2[i]='\0';
}
直接在main函数中调用就行了,C++和C都能编译.ch为要复制的字符串,m为要复制的第几个字符,注意是第几个字符,不是下标如果是按下标的话,把int n=m-1;改为n=m;
ch2为被复制到的目标字符串.注意ch2一定要足够大.
{
int n=m-1;
for(int i=0;ch[n];i++,n++)
ch2[i]=ch[n];
ch2[i]='\0';
}
直接在main函数中调用就行了,C++和C都能编译.ch为要复制的字符串,m为要复制的第几个字符,注意是第几个字符,不是下标如果是按下标的话,把int n=m-1;改为n=m;
ch2为被复制到的目标字符串.注意ch2一定要足够大.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <string.h>
char * my_copy( char *str , int m )
{
if ( m > strlen(str) ) return NULL ;
return str+m-1 ;
}
int main()
{
int m=0;
char str[81],*p=NULL;
printf("input a string:" );
gets( str );
printf("input position numner:" );
scanf("%d",&m );
p=my_copy( str , m );
printf("the result :\n");
printf("%s\n" , p );
return 0;
}
#include <string.h>
char * my_copy( char *str , int m )
{
if ( m > strlen(str) ) return NULL ;
return str+m-1 ;
}
int main()
{
int m=0;
char str[81],*p=NULL;
printf("input a string:" );
gets( str );
printf("input position numner:" );
scanf("%d",&m );
p=my_copy( str , m );
printf("the result :\n");
printf("%s\n" , p );
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
void str_copy(char *A,char *B,int m)
{
B+=m-1;
strcpy(A,B);
}
int main()
{
char B[]="abcdefg",A[10];
int m=3;
str_copy(A,B,m);
puts(A);
return 0;
}
#include<string.h>
void str_copy(char *A,char *B,int m)
{
B+=m-1;
strcpy(A,B);
}
int main()
{
char B[]="abcdefg",A[10];
int m=3;
str_copy(A,B,m);
puts(A);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用什么 语言??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询