#include<string.h>
#include<stdio.h>
char *my_strncat(char *strDest, const char *strSrc, int i)
{
char *start = strDest; //为了将这个函数的返回值作为其他函数的参数,即链式访问
#include<stdio.h>
char *my_strncat(char *strDest, const char *strSrc, int i)
{
char *start = strDest; //为了将这个函数的返回值作为其他函数的参数,即链式访问
while (*strDest++)
; //直到遇到\0跳出while循环
strDest--; //由于while循环条件中最后一次判断指向\0后不满足还向后加了一次,所以需要减回来
while (i--)
if (!(*strDest++ = *strSrc++))//当if中为真时,执行下面的语句
return (start);
*strDest = '\0';
return(start);
}
int main()
{
char strDest[30] = "TO be ";
char strSrc[20] = "or not to be";
int i = 6;
printf("%s\n", my_strncat(strDest, strSrc, 12));
return 0;
}
; //直到遇到\0跳出while循环
strDest--; //由于while循环条件中最后一次判断指向\0后不满足还向后加了一次,所以需要减回来
while (i--)
if (!(*strDest++ = *strSrc++))//当if中为真时,执行下面的语句
return (start);
*strDest = '\0';
return(start);
}
int main()
{
char strDest[30] = "TO be ";
char strSrc[20] = "or not to be";
int i = 6;
printf("%s\n", my_strncat(strDest, strSrc, 12));
return 0;
}