PTA:编程实现字符串连接函数MyStrNcat (C语言)

本文介绍了如何实现一个名为MyStrNcat的C语言函数,用于连接两个字符串,仅取源字符串的前n个字符,并在目标字符串末尾添加结束符。函数接收dst、src和n作为参数,展示了具体实现和一个使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题干

本题要求实现一个函数,即字符串“n”族连接函数StrNcat,将两个字符串连接起来。

函数接口定义: char *MyStrNcat( char *dst, char *src, int n );

此函数把字符串src中的前n个字符连接到到dst后面,并以’\0’终止该串,原dst后面的’\0’被src的第一个字符覆盖。函数返回指向dst的指针。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>
#define MAXS 10
char *MyStrNcat( char *dst, char *src, int n );

int main()
{
    char *p;
    char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'};

    gets(str1);//输入目的字符串
    gets(str2);//输入源字符串
    
    int n;
    scanf("%d",&n);//输入连接长度

    char * new_dst;//函数调用返回目的字符串指针
    new_dst = MyStrNcat(str1, str2, n);
        
    printf("%s\n",  new_dst);    
    return 0;
}

/* 你的代码将被嵌在这里 */

样例

输入样例:
abc
def
2
输出样例:
abcde

解题过程及思路

char *MyStrNcat(char *dst, char *src, int n) {  
    char *p = dst + strlen(dst); // 将指针p指向dst字符串的末尾  
  
    while (n-- > 0 && *src != '\0') { // 拷贝src字符串的前n个字符到dst字符串中  
        *p++ = *src++;  
    }  
  
    *p = '\0'; // 在新的dst字符串末尾添加结束符'\0'  
  
    return dst;  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值