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

定义 char t;char *P=str
strcat(t,p) 这个函数是不是把整个str内容都接到t 里面了? C语言里的指针好难理解啊。似乎模棱两可,功能太多了么? 都有什么功能啊?
是char *t; 问的是:这个函数是不是把p所指的整个str内容都接到t 里面了,但是p只是指着str的开始字符而已啊。



慕婉清6462132
浏览 373回答 2
2回答

天涯尽头无女友

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);//程序执行出错

忽然笑

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!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
SQL Server