思路是将s2复制到s1之后,但不使用strcpy.想要通过将s1复制到s3的前部分,s2复制到s3的后部分,然后输出s3。可是输出结果总是s1
可以帮看看为什么只输出s1吗(语言-c++)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 伍六七0804 2022-11-18 10:24关注
你肯定是把'\0'拼到S3中的S1后面去了
你不用去对比S1和S2的长度,直接分别用S1和S2给S3用指针去赋值就行了int a = strlen(s1); int b = strlen(s2); int i = 0; char *p = s3; for (i = 0; i < a; i++) { *p = s1[i]; p++; } for (i = 0; i < b; i++) { *p = s2[i]; p++; } *p = '\0';
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 如何绘制动力学系统的相图