例题求解!
编写函数copy_n,它的原型如下所示: void copy_n(char dst[], char src[], int n);
这个函数用于把一个字符串从数组src复制到数组dst,但有如下要求:必须正好复制n个字符到dst数组中,不能多也不能少。如果src字符串的长度小于n,你必须在复制后的字符串尾部补充足够的NUL字符,使它的长度正好为n。如果src的长度长于或等于n,那么你在dst中存储了n个字符后便可停止。此时,数组dst将不是以NUL字符结尾。
这是我写的,你帮我看一下,哪有问题!
#include "stdio.h"
#include"string.h"
char copy_n(char* dst, const char* src, int n)
{
int i;
i=strlen(src) ;
if(i<n)
{
while( (*dst++ = *src++) != src[i] );
}
else {
while( (*dst++ = *src++) != src[n+1] );
}
return *dst ;
}
void main()
{
int n=5;
char dst[15], src[]={"woainiff dsafsdfasdf "};
copy_n(dst,src,n) ;
printf("%s",dst) ;
}