C语言中strcpy函数怎么用?看题

程序:char a[10]=“abc”,b[10]=“012”,c[10]=“xyz”;
strcpy(a+1,b+2);
puts(strcat(a,c+1);
执行后输出结果怎么算?求详细!

您好,输出结果为“a2yz”。

程序图片:

分析:

    strcpy(a+1,b+2)相当于将a[1]及它后面的内容复制为b[2]及它后面的内容。b[2]及后面为“2”,因此复制后a为“a2”;

    strcat(a,c+1)相当于在a的末尾加上c[1]及其后面的部分,也就是“yz”。故运行后a为“a2yz”

拓展资料:

strcpy把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。

strcat把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。

参考资料:

百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-28
strcpy(a+1,b+2);
把 b[2]开始的字符串拷贝到 a[1]开始的地址中。
这时 a 中的字符串改变为 "a2"
然后将 c[1]开始的字符串拼接到a 中
此时 a中的字符串变为 a2yz;
第2个回答  2013-08-28
strcpy 将第二个拷贝到第一个 即拷完以后a为a2\0 注意每个字符串最后都有个\0 然后 strcat 后a就是"a2yz"
最终输出结果为"a2yz"
第3个回答  2013-08-28
strcpy(char *, char *)函数表示将第二个参数开始的字符串拷贝到第一个参数的字符串位置。故strcpy (a+1, b+2) 表示将b[2]开始的字符串复制到a[1]开始的字符串中,即a数组变为“a2”。

strcat(char *, char *)函数表示将第二个参数开始的字符串接到第一个参数开始的字符串上,返回第一个字符串的指针。故strcat(a,c+1)表示将c[1]开始的字符串接到“a2”后面,a数组变成“a2yz”。
最后用puts输出字符串。
不懂请追问,望采纳。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网