实 验 报 告
实验项目名称 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:😩我想有稳定的爱情