C语言中strcpy(str1,str2)

谭浩强C语言书上写的是:str1,必须为数组形式,但是我看了一个教学视频上有这么一种形式:strcpy(str1+strlen(str1),str2)是为了实现strca... 谭浩强C语言书上写的是:str1,必须为数组形式,但是我看了一个教学视频上有这么一种形式:strcpy(str1+strlen(str1),str2)是为了实现strcat(str1,str2),这个函数,但是我在turbo,c上测试了一下,没有实现strcat.不知道这是为什么? 展开
 我来答
徐光猪
推荐于2017-10-06 · TA获得超过4167个赞
知道大有可为答主
回答量:1299
采纳率:50%
帮助的人:1732万
展开全部
这个strcpy(str1+strstrlen(str1),str2) 是可以实现 strcat的呀

程序如下:
#include <stdio.h>
#include <string.h>
void main()
{
char a[30]="abc";
char b[10]="abcdef";
puts(a);
puts(b);
printf("复制:\n");
strcpy(a+strlen(a),b);
puts(a);
}

因为 strl+strlen(str1) 的意思就是将指针移到这个字符数组的 \0 位置 再往后面 复制字符
这不刚好是strcat 的功能 ,关键是你复制到的目的数组要足够大
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2010-12-26 · 超过14用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:27万
展开全部
strcat函数 是实现两个字符串连接的函数。str1和str2 应该是字符数组这样才有意义。
去重新试一下吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ruifengcao
2010-12-26 · TA获得超过9491个赞
知道大有可为答主
回答量:3579
采纳率:33%
帮助的人:2071万
展开全部
strcat(str1,str2)中两个都是字符型的数组,谭浩强的书不可能是错的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
980515024
2010-12-26 · TA获得超过606个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:324万
展开全部
为什么要在TC上测试呢?TC是面向图形界面的,对于一些程序对象它可能实现不了 ,上面的strcpy函数和strcat函数是正确的,你可以在Visual C++上测试 ,肯定就会对的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
reallygone
2010-12-26 · 超过31用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:54.1万
展开全部
str1是指针,不必非得是地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式