为了账号安全,请及时绑定邮箱和手机立即绑定

有个情况整不明白,是关于c语言之strcat()?

有个情况整不明白,是关于c语言之strcat()?

慕婉清6462132 2021-04-06 16:07:17
定义 char t;char *P=strstrcat(t,p) 这个函数是不是把整个str内容都接到t 里面了? C语言里的指针好难理解啊。似乎模棱两可,功能太多了么? 都有什么功能啊?是char *t; 问的是:这个函数是不是把p所指的整个str内容都接到t 里面了,但是p只是指着str的开始字符而已啊。
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

1. strcat(t,p)基本功能将,字符串p拷贝到t字符串尾。最终的字符串地址是t。
2.限制条件1:指针t必须指向的内存剩余空间必须大于p字符串。例如,以下代码就不正确:
char *t;
char *p = "abcd";
strcat(t,p);//程序执行会出错

char t[5] = "abcd";
char *p = "abc";
strcat(t,p);//程序执行会出错

正确代码例子如下:
char[10] = "abcd";
char *p = "abc";
strcat(t,p);//程序执行正常

3.限制条件2:t指向的内存空间已初始化。
例如,以下代码执行会有异常:
char t[10];
char *p;
strcat(t,p);//程序执行出错



查看完整回答
反对 回复 2021-04-11
?
忽然笑

TA贡献1806条经验 获得超5个赞

strcat(t,p)这样写是不对的,t是字符型变量,而strcat的参数要求是字符指针,可以像下面这样写
char *t = new char[100];
strcpy(t,"hello ");
char *p= "word!";
strcat(t,p);
printf("%s\n",t);
delete [] t;
输出hello Word!



查看完整回答
反对 回复 2021-04-11
  • 2 回答
  • 0 关注
  • 371 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信