/*
strncpy(s1,s2,n)函数把s2中的n个字符拷贝至s1中,截断s2,或者有必要的话在末尾添加空字符。
如果s2的长度是n或多于n,目标字符串不能以空字符结尾。该函数返回s1。自己编写一个这样的函数,
名为mystrncpy()。在一个完整的程序中测试该函数,使用一个循环给函数提供输入值。
*/
#include<stdio.h>
#define SIZE 40
char* mystrncpy(char *s1, char *s2, int n);
int main(void)
{
char a[SIZE];
char b[SIZE];
int i = 0;
char ch;
char c = 3;
printf("请输入一个字符串a:");
while ((ch = getchar()) != '\n' && i < SIZE)
{
a[i] = ch;
i++;
}
a[i] = '\0';
printf("请输入一个字符串b:");
i = 0;
while ((ch = getchar()) != '\n' && i < SIZE)
{
b[i] = ch;
i++;
}
b[i] = '\0';
mystrncpy(a, b, c);
fputs(a, stdout);
return 0;
}
char* mystrncpy(char* s1, char* s2, int n)
{
int i = 0;
int j = 0;
while (s1[i] != '\0')
i++;
while (j < n)
{
s1[i] = s2[j];
i++;
j++;
}
s1[i] = '\0';
return s1;
}
C PRIMER PLUS(第六版编程练习)11.13编程练习_7题
最新推荐文章于 2023-02-22 14:28:12 发布