c语言:数组:不用strcpy函数,实现字符串的复制。

不用strcpy函数,实现字符串的复制,自己编的:
代码如下:
#include<string.h>
#include<stdio.h>
main()
{
char s1[100],s2[100];
int i;
gets(s1);
for(i=0;s1[i]!='\0';i++)
s2[i]=s1[i];
s2[i]='\0';
for(i=0;s2[i]!='\0';i++)
printf("%c",s2[i]);
}

总觉得有点不符合题意似的,谁有新的见解,多多发表。。。

#include<stdio.h>

void Copy_string(char* str1, char* str2);   //函数声明

int main()

{

char str1[20];

char str2[20];

puts("请输入字符串str1:");

gets(str1);                           //获取从键盘输入的字符串

Copy_string(str1, str2);

printf("字符串str2:%s\n",str2 );

return 0;

}

void Copy_string(char* str1, char* str2)     //自定义字符串连接函数

{

int i = 0;

while (str1[i] != 0)

{

str2[i] = str1[i];

i++;

}

str2[i] = '\0';                         //添加字符串结束符

}

运行结果:

扩展资料

C字符串库函数,实现字符串复制函数strcpy

char *strcpy(char *strDest,const char *strSrc)//源字符串参数用const修饰,防止修改源字符串

{

assert(strDest!==NULL&&strSrc!== NULL);//断言

char *ad=strDest;//返回目标地址

while((*strDest++=*strSrc++)!='\0')//'\0'

{

NULL;

}

return ad;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-04
#include<string.h>
#include<stdio.h>
main()
{
char s1[100],s2[100];
int i,str;
str=strlen(s1);/*求字符串长度*/
for(i=0;i<str;i++)
s2[i]=s1[i];
for(i=0;i<str;i++)
printf("%c",s2[i]);
}
/*以上程序应该可以,不过我没有编译*/本回答被提问者采纳
第2个回答  2009-04-10
对啊,就是这么编的!
不过用gets()函数,遇到空格就停止接收字符了,在输入的时候要注意...请指正。
第3个回答  2009-04-10
void str_copy(char *des, char *sourse)
{
while (*sourse)
{
*des++ = *sourse++;
}
*des = '\0';
}

一般人我不告诉他……
第4个回答  2009-04-10
还可以用指针,把第一个字符串地址指针赋值给第二个字符串

c语言:数组:不用strcpy函数,实现字符串的复制。
void Copy_string(char* str1, char* str2); \/\/函数声明 int main(){ char str1[20];char str2[20];puts("请输入字符串str1:");gets(str1); \/\/获取从键盘输入的字符串 Copy_string(str1, str2);printf("字符串str2:%s\\n",str2 );return 0;} void Copy_string(char* s...

C语言中,用指针实现字符串的拷贝,不能用strcpy,用自定义函数实现该功能...
char*ret=my_strcpy(arr2,arr1);printf("%s",ret);\/*打印出的为字符串*\/ return 0;}

...数组s2中的全部字符复制到字符数组s1中。不用strcpy函数。复制...
include<stdio.h>#include<conio.h>int main(){char s1[100],s2[]="I love CHINA!";int i;for(i=0;s2[i]!='\\0';i++)s1[i]=s2[i];s1[i]=s2[i];printf("s1=%s\\n",s1);getch(); return 0;}祝你成功!

C语言,不使用strcpy函数将一个字符串中的前N个字符复制到一个字符数组...
答案:⑦B。⑧A。

编写一个程序,不用Strcpy函数,怎样将字符数组S2的全部字符复制到字符...
4、不用Strcpy函数,将字符数组S2的全部字符复制到字符数组S1中for循环将S2中的字符一个一个的读出来,再用for循环一个一个的写入数组S1,数组就是用来循环的。5、在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。6、在C语言...

不使用strcpy函数,编成实现:从控制台输入一字符串s1,拷贝到另一字符数组...
include<iostream.h> void main(void){ int n;char *p,s2[];char s1[51];cout<<"输入字符串不超过50个";cin.getline(s1,50);p=s1;n=strlen(s1);for(int i=0;i<n;i++,p++)s2[i]=*p;cout<<s2;}

...字符复制到一个字符数组中去 不许使用strcpy函数
include <stdio.h>void copy_str( char *s, char *t, int n){int i;for( i=0;i<n;i++ )*t++=*s++ ;*t='\\0' ;}int main(){char a[20]="hello world" , b[20] ;copy_str( a, b, 5 );printf("b=%s\\n", b );return 0;} ...

C语言中如何编写一个字符串复制函数,并在主函数中调用它。
可以利用字符指针结合while循环的方式来编写字符串复制函数。具体实现方法可以参考如下程序:include<stdio.h>void str_copy(char *str1, char *str2) \/\/ 字符串复制函数{ while(*str1++ = *str2++); \/\/ 将字符串str2中的每个字符逐个复制到str1中,直到遇到字符串结束字符'\\0'}void ma...

++不用strcpy()函数,用字符指针的形式将一个字符串的内容复制到另一字符...
include <stdio.h> void f(char*dst, char*src) { while((*dst++ = *src++) != '\\0');} void main() { char *p = "abcd";char s[5];f(s, p);puts(s);}

...中的全部字符复制到字符数组str1中。不使用strcpy。
c;scanf("%c", &c);\/\/这句是为了防止控制台退出return 0;} 解决方法 1、定义一个带两个参数的复制函数;2、在函数内循环读取待复制字符串的一个字符,并放入到复制到字符串里;3、判断当前放入的字符是否是\\0如果是就结束循环;4、 将待复制字符串指针加1,将复制到的字符串指针加1 ...

相似回答