看来对于c提供的库函数,自己要看了才行,不然用着还是有些不放心。

C语言求问.关于strcat的应用
悬赏分:15 - 解决时间:2009-4-9 19:48
#include<stdio.h>
#include<string.h>
main()
{ char *p1=”abc”,*p2=”ABC”,str[50]=”xyz”;
strcpy(str+3,p2);
strcat(str+2,p1);
printf(“%s/n”,str);
}
A xyzabcABC B zabcABC C yzabcABC D xyzABCabc

答案是D 我的疑问是strcat(str+2,p1);
这句话,上面执行后应该是xyzABC 。那么执行那句话以后应该是xyzabcABC 才对呀
求高手解答

strcat 不关心从哪里开始。
它的第一个参数只是提供一个地址,然后从这个地址开始寻找,直到它找到一个'/0'。

然后它把它第二个参数指向的字符串粘贴到'/0'的位置,然后再在这个字符串后边添加一个'/0'。

也就是说,不论你执行
strcat(str+2,p1);
还是strcat(str+3,p1);strcat(str,p1);
结果都是一样的

呵呵,百度知道里看到的东东。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章