一道C语言的作业,高手指点~....

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:44:13
编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数复制时,'\0'也要复制过去,'\0'后面的字符不复制。

看了好久没什么头绪...刚学C,感觉难啊- -!!
2楼的能告诉我一下 为什么要+这句return 0; ????还有题目说的'\0'后面的字符不复制,好象你写的不能实现这个功能~~~~不能用strcpy函数~~

//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
int i;
char s1[50],s2[50];
gets(s2);
for (i = 0; s2[i]!='\0'; i++) {
s1[i]=s2[i];
}
s1[i]='\0';
puts(s1);
return 0;
}
//---------------------------------------------------------------------------

#include <stdio.h>
#define MAX 100
void copy(char a[],char b[],int n)
{
int i;
for(i=0;i<n+1;i++)
b[i]=a[i];
}

void main()
{
int i,n;
char a[MAX],b[MAX];
puts("Input array a:");
for(i=0;i<MAX;i++)
{
scanf("%c",&a[i]);
if(a[i]=='\0'||a[i]=='\n')
{
n=i; //n为'\0'的下标
break;
}
}
copy(a,b,n);
puts("The target array as follow:");
f