实验9 问题 D: 编写函数:字符串的复制 之二 (Append Code)

题目描述

将输入的一个字符串s拷贝输出。

-----------------------------------------------------------------------------

编写一个函数str_cpy()求一个串的拷贝:

原型:char * str_cpy(char * t, char * s, int n);

功能:把串s的前n个字符复制到串t中,返回值是串t。如果串s的字符个数不足n个,则全部复制。

函数的调用格式见“Append Code”。

-----------------------------------------------------------------------------

Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。

被禁用的头文件:string.h、stdlib.h。
被禁用的库函数:strcpy()、strncpy()、memcpy()等。

输入

输入为多行。每行为一个非负整数n和一个字符串s,两者用一个空格分隔。s的字符总数不超过100个。

输出

串s前n个字符的复制。

输出两遍,一遍是测试返回值,一遍是测试str。

样例输入
2 Look! 5 I love china!
样例输出
Lo Lo I lov I lov
提示

str_cpy()的返回值参考标准库函数strcpy()、strstr()、strchr()的设计思路:返回指向目标串的指针。

Append Code
append.c,

&&

&&

&&

#include<stdio.h>
#define MAX_STR_LEN 101
char * str_cpy(char * t, char * s,int n)
{
    int i=0;
    char *t1=t;
    while(s!='\0')
    {
        if ( i>= n )
            break ;
        *t=*s;
        t++;
        s++;
        i++;
    }
    *t=0;
    return t1;
}
int main()
{
    int n;
    char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
    while(scanf("%d", &n) != EOF && getchar())
    {
        gets(s);
        p = str_cpy(str, s, n);
        puts(p);
        puts(str);
    }
    return 0;
}



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值