当执行以下的C语言程序时,如果输入ABC,则输出结果为 ABC6789,谁能解释一下为什么吗?
main()
{ char ss[10]="1,2,3,4,5";
gets(ss); strcat(ss,"6789");
printf("%s",ss);
getch();
} 展开
当执行以下的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
是把后面的字符串,复制到前面的字符串之后,于是就出现你的那个结果了。
2014-01-16