将字符数组s2中的字符全部复制到s1中,不用strcpy函数。复制时,‘\0’也要复制过去,‘\0’后面的字符不复制。
#include<stdio.h>
#define N 80
main()
{
char s1[N] , s2[N] ;
int i ;
s1[N]={'\0'};
printf("input s2:");
gets(s2);
for( i=0 ; s1[i] != '\0' ; i++ ){
s1[i]=s2[i];
}
printf("s1:%s\n",s1);
}
下面是书上的答案
#include<stdio.h>
#include<string.h>
#define N 80
main()
{
char s1[N] , s2[N] ;
int i ;
printf("input s2:");
gets(s2);
for( i=0 ; i <= strlen(s2) ; i++ ){
s1[i]=s2[i];
}
printf("s1:%s\n",s1);
}
我有两个疑虑:
1.strlen是求字符串长度函数,我可以换成sizeof吗?
2.他的方法也没有输出'\0'吧?