当执行以下的C语言程序时,如果输入ABC,则输出结果为 ABC6789,谁能解释一下为什么吗?

#include<stdio.h>#include<string.h>main(){charss[10]="1,2,3,4,5";gets(ss);strcat(ss,"... # include<stdio.h># include <string.h>
main()
{ char ss[10]="1,2,3,4,5";
gets(ss); strcat(ss,"6789");
printf("%s",ss);
getch();
}
展开
 我来答
ying影英音
2019-12-01 · TA获得超过1.6万个赞
知道答主
回答量:32
采纳率:100%
帮助的人:8133
展开全部

当执行以下的C语言程序时,如果输入ABC,则输出结果为 ABC6789,因为gets输入一个字符串ABC重新赋值给了数组ss;

此时ss中就只存放ABC,然后用到strcat把字符串6789添加到ABC结尾处(覆盖ABC结尾处的'\0')并添加'\0'。所有最后结果为ABC6789。

只对部分元素赋初值,未赋初值的元素自动取0值。对每一行的第一二列元素赋值,未赋值的元素取0值。 

扩展资料:

编程语言应以对象为基础,实现深化发展,并提供具有较强动态性的接口模型和简单的类机制。对继承机制加以利用,子类可以对父类给出的方法加以应用,以此来实现代码复用。

在C语言程序开发中,即使是一些非常琐碎的事情也要程序员自己处理。例如在执行 memcpy() 等内存操作时,是不会检查要复制的内存区域是否有重叠的。

C语言的这些特性在有些程序员看来是缺陷,但这是一种灵活,能够让程序员具有更大的权限的管理机器,以及获得计算机的每一点性能。

虽然C语言号称是一种支持可移植程序开发的编程语言,它的一些语法也尽力实现这一目标,但是C语言并不想强迫程序员以可移植的方式编写代码,以防止C语言成为“高级汇编语言”,毕竟编写特定于机器的代码是C语言的优势之一。

参考资料来源:百度百科-编程语言

匿名用户
推荐于2017-11-26
展开全部
gets(ss); 的时候,你的ss中的字符串就变成了你输入的"ABC",strcat(ss,"6789");
是把后面的字符串,复制到前面的字符串之后,于是就出现你的那个结果了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-16
展开全部
gets输入一个字符串ABC重新赋值给了数组ss,此时ss中就只存放ABC,然后用到strcat把字符串6789添加到ABC结尾处(覆盖ABC结尾处的'\0')并添加'\0'。所有最后结果为ABC6789
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式