战国兰斯 王女:这个C语言题怎么做啊?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 10:17:25
编写一个程序,将字符数组S2中的全部字符拷贝到字符数组S1中,不用strcpy函数。拷贝时,‘/0’也要拷贝过去他后面的字符不拷贝。

#include "malloc.h"
char * strcopy(char *str){
int n=0;
while(str[n]!='\0')
n++;
char *r=(char *)malloc((n+1)*sizeof(char));
n=0;
while(*str!='\0'){
r[n]=*str;
n++;
str++;
}
r[n]='\0';
return r;
}

#include<stdio.h>
main()
{
char form[80],to[80];
int i,len;
printf("请输入字符串s1");
scanf("s%",from);
len=strlen(from); /*得到字符串长度*/
form(i=0i<=len;i++)
to[i++]=from[i++];
printf("新的字符串是:%s\n",to);/*逐个字符复制*/
}

如果不让用 strcpy, 我想 strlen 也是不许用的吧...,
而且楼上的程序也是有问题的,修改楼上的程序,这样写吧:

#include<stdio.h>
main()
{
char form[80],to[80];
int i,len;
printf("请输入字符串s1");
scanf("%s",from);
form(i=0;i<=80;i++)
{
to[i]=from[i];
if (to[i]=='\0')
{
break;
}
}
printf("新的字符串是:%s\n",to);
}

朋友你很好学哦,是要考计算机二级还是三级啊,如果是过四级的我们可以共勉哦。

如果不让用 strcpy,应该可以用string处理函数吧>?