看不清0
2015-08-25 11:02
虽然得不出答案,但对吧?
不对,应该是这样的
strcpy(s1,s2); strcat(s1,s3);
楼主那样写的话
strcat(s2,s3);
strcpy(s1,s2);
S3覆盖到了S2上,S2的没有了,输出的是慕课网。
strcat是把两个字符串连接在一起,把第二个字符串接到第一个字符串的后面 ;strcpy是覆盖,即把第二个字符串覆盖到第一个字符串上(从第一个字符串的第一位开始替换成第二个字符串的内容) strncpy是把第二个字符串的前n位覆盖到第一个上.所以应该是
strcpy(s1,s2);
strcat(s1,s3);
课程说明中的第4点很重要!
strcpy strcat 这样的函数在使用时要注意:第一个参数处要有足够大的空间来容纳操作后的字符串。s1可以容纳100个元素,s2和s3的空间都只能含有4个元素,所以不应写在第一个参数处。
C语言入门
926210 学习 · 20797 问题
相似问题