strncpy(s,t,n)将t中最多前n个字符复制到s中

ljf913 ljf913 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdio.h>

char *strncpy(char *s, char *t, int n);

void main()
{
char s[100], t[100];
int n;
scanf("%s %d",t,n);
printf("%s\n",strncpy(s,t,n));
}
/* strncpy(s,t,n)将t中最多前n个字符复制到s中,并返回s。如果t中少于n个字符,则用'\0'填充*/

char *strncpy(char *s, char *t, int n)
{
int i;
char *p;
p = s;
for (i = 1; i <= n; i++)
{
*s++ = *t++;
}
for (; i <= n; i++)
{
*s++ = '\0';
}
return p;
}

编译、连接都没有错误,但是一运行windows就停止。请各位帮忙看一下哪里错了?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
ljf913
C语言 70,039 成员 243,237 内容