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

本文探讨了C语言中strcat函数的使用方法,并通过一个具体示例详细解释了strcat函数如何工作,特别是当从字符串中间位置进行连接时的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
结果都是一样的

呵呵,百度知道里看到的东东。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值