定义 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);//程序执行出错
忽然笑
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!
添加回答
举报
0/150
提交
取消