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.不知道这是为什么?
展开
展开全部
这个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 的功能 ,关键是你复制到的目的数组要足够大
程序如下:
#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 的功能 ,关键是你复制到的目的数组要足够大
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strcat函数 是实现两个字符串连接的函数。str1和str2 应该是字符数组这样才有意义。
去重新试一下吧
去重新试一下吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strcat(str1,str2)中两个都是字符型的数组,谭浩强的书不可能是错的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么要在TC上测试呢?TC是面向图形界面的,对于一些程序对象它可能实现不了 ,上面的strcpy函数和strcat函数是正确的,你可以在Visual C++上测试 ,肯定就会对的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str1是指针,不必非得是地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询