发布网友 发布时间:2022-09-03 18:16
共2个回答
懂视网 时间:2023-02-19 21:33
c语言中strcpy是部分覆盖,strcpy()函数拷贝之后,是将某一地址的字符串复制到另外一地址中,会将该地址中本身存在的字符串的一部分给覆盖掉。
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
热心网友 时间:2023-02-19 18:41
内存里是部分覆盖了,你看以在查看内存看看。输出XYZ我认为是因为puts(a);这样之输出一个字符串;覆盖后数组a的前三个字节是XYZ,第四字节是结束标志\0;第五字节开始是dfg,所以你写puts(&(a[4])); 就可以输出dfg