Strcpy函数的实验报告

实 验 报 告

实验项目名称 Strcpy函数 实验日期 2020.12.26

实验报告包含以下7项内容:
一、实验目的 二、实验内容
三、实验环境 四、算法设计和步骤
五、程序具体实现 六、测试结果及讨论
七、实验心得

一、实验目的
将指针t指向的字符串复制到指针s指向的位置

二、实验内容
探究并改进子函数的编写,以达到多种方式实现复制的目的

三、实验环境
基于macOS Big Sur版本11.1的Xcode编译器
MacBook Pro (16-inch, 2019)
处理器2.6GHz六核Intel Core i7
内存16GB 2667MHz DDR4
图形卡Intel UHD Graphics 630 1536 MB

四、操作方法和实验步骤
检查是否需要调用特殊函数库,构建子函数,构建主函数,调试程序

五、程序具体实现

#include <stdio.h>
void Strcpy(char *s, char *t) { int i;
i = 0;
while ((s[i] = t[i]) != '\0') 
i++;
}
int main()
{
    char a[20], c[] = "I am a teacher!";
    Strcpy(a, c);
    printf(" c=%s\n", c);
    printf(" a=%s\n", a);
    return 0;
}

六、测试结果及讨论
在这里插入图片描述

完美实现既定目的。
以下是子函数的优化:
1.

void strcpy(char *s, char *t) { int i;

i = 0;

while ((*s = *t) != '\0') {

s++; t++;

}

}
void strcpy(char *s, char *t) {

while ((*s++ = *t++) != '\0') ; 

}

七、实验心得
指针和自加自减运算的灵活运用可以节省代码函数,同时使得自己的能力得以锻炼。为了更进一步地精练程序,我们注意到,表达式同0的比较是多余的,因为只需要判断表达式的值是否为0即可。因此,该函数可进一步写成下列形式

void strcpy(char *s, char *t) {
while (*s++ = *t++); }

海南大学 信息与通信工程学院
20级智能科学与技术(*好惨,下一届就改成人工智能了,后无来者)
一位不知道怎么谈恋爱的孙姓学生提供
ps:😩我想有稳定的爱情

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳城S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值