题目

编写函数实现将源字符串复制到目标字符数组中(不调用标准库函数 strcpy)。

输入格式:一行输入一个待复制的源字符串。

输出格式:输出复制后的目标字符串内容,末尾换行。

数据范围与约定:源字符串长度不超过 500,目标数组容量充足。

思路与算法

1. 经典指针拷贝语法
经典的 Java 语言写法:while ((*dst++ = *src++) != '\0');。先将源指针指向的字符赋值给目标指针,再同步自增指针,直到赋的值为 '\0' 时表达式为假跳出循环。

2. 缓冲区安全
必须确保目标数组有足够的存储空间容纳源字符串及末尾的结束符 '\0',避免越界写入。

完整程序

import java.util.Scanner;

public class Main {
    // 模拟字符串拷贝:逐字符复制到新字符数组中
    public static String myStrcpy(String src) {
        char[] from = src.toCharArray();
        char[] to = new char[from.length];
        for (int i = 0; i < from.length; i++) {
            to[i] = from[i];
        }
        return new String(to);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        String copied = myStrcpy(s);
        System.out.println(copied);
    }
}

运行示例

输入:

world

输出:

world