"Beijing"之后的为:
A.strcat(str1,"China") B.strcat("Beijing",str2)
这两者有什么区别
B
strcat是把后一个参数的字条串复制到前一个字符串的后面。
1,能把"China"连接到"Beijing"之后的语句为 strcat("Beijing",str2);
楼上已把这个函数的声明写出了,这个语法是没有问题。
2,由于"Beijing"存放的是在str1中,而str1和str2是在编译期间由编译器为程序申请好的固定的空间,是在堆中申请的,是程序一运行就存在的。一般对于连续定义的变量,空间一般也是连续的,这由编译器的特性决定(大部分正常情况下)。
执行B语句,正常情况下不会出现溢出现象,也不会引起系统崩溃。
strcat是把后一个参数的字条串复制到前一个字符串的后面。
1,能把"China"连接到"Beijing"之后的语句为 strcat("Beijing",str2);
楼上已把这个函数的声明写出了,这个语法是没有问题。
2,由于"Beijing"存放的是在str1中,而str1和str2是在编译期间由编译器为程序申请好的固定的空间,是在堆中申请的,是程序一运行就存在的。一般对于连续定义的变量,空间一般也是连续的,这由编译器的特性决定(大部分正常情况下)。
执行B语句,正常情况下不会出现溢出现象,也不会引起系统崩溃。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-03-07
当然是A
strcat(const char * Destination, const char * Sourse);
函数原型明显是资源连接到目标字符串
并且第二个内存会越界,字符串存储在静态区,静态区内存只读,在“beijing”后内存写入程序会崩溃本回答被提问者采纳
strcat(const char * Destination, const char * Sourse);
函数原型明显是资源连接到目标字符串
并且第二个内存会越界,字符串存储在静态区,静态区内存只读,在“beijing”后内存写入程序会崩溃本回答被提问者采纳