程序:char a[10]=“abc”,b[10]=“012”,c[10]=“xyz”;
strcpy(a+1,b+2);
puts(strcat(a,c+1);
执行后输出结果怎么算?求详细!
第1个回答 2013-08-28
strcpy(a+1,b+2);
把 b[2]开始的字符串拷贝到 a[1]开始的地址中。
这时 a 中的字符串改变为 "a2"
然后将 c[1]开始的字符串拼接到a 中
此时 a中的字符串变为 a2yz;
把 b[2]开始的字符串拷贝到 a[1]开始的地址中。
这时 a 中的字符串改变为 "a2"
然后将 c[1]开始的字符串拼接到a 中
此时 a中的字符串变为 a2yz;
第2个回答 2013-08-28
strcpy 将第二个拷贝到第一个 即拷完以后a为a2\0 注意每个字符串最后都有个\0 然后 strcat 后a就是"a2yz"
最终输出结果为"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输出字符串。
不懂请追问,望采纳。本回答被提问者和网友采纳
strcat(char *, char *)函数表示将第二个参数开始的字符串接到第一个参数开始的字符串上,返回第一个字符串的指针。故strcat(a,c+1)表示将c[1]开始的字符串接到“a2”后面,a数组变成“a2yz”。
最后用puts输出字符串。
不懂请追问,望采纳。本回答被提问者和网友采纳