c语言之strcat()
答案:5 悬赏:80 手机版
解决时间 2021-03-05 18:00
- 提问者网友:饥饿走向夜
- 2021-03-04 19:49
c语言之strcat()
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-03-04 21:17
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!
char *t = new char[100];
strcpy(t,"hello ");
char *p= "word!";
strcat(t,p);
printf("%s\n",t);
delete [] t;
输出hello Word!
全部回答
- 1楼网友:一袍清酒付
- 2021-03-04 23:54
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);//程序执行出错
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);//程序执行出错
- 2楼网友:孤独入客枕
- 2021-03-04 23:44
strcat(t,p)时2个参数都必须是指针或者数组(char型)。
另外累死的函数还有strcmp。strcat等
另一种类型strncat(a,b,n)这种函数的前一个参数的空间要大于后一个
指针本来就不好学,如果开始老出错的话,可以考虑先用用数组,对指针有一定理解之后再用指针。
ps:其实数组也是一种指针,是名字不能改的指针,数组指向的是数组中下标为0的元素
你的问法叫人好无语啊,感觉你对指针还没真正理解,你试试cout<c语言的话就用prinf("%s",p);好了。。
另外累死的函数还有strcmp。strcat等
另一种类型strncat(a,b,n)这种函数的前一个参数的空间要大于后一个
指针本来就不好学,如果开始老出错的话,可以考虑先用用数组,对指针有一定理解之后再用指针。
ps:其实数组也是一种指针,是名字不能改的指针,数组指向的是数组中下标为0的元素
你的问法叫人好无语啊,感觉你对指针还没真正理解,你试试cout<c语言的话就用prinf("%s",p);好了。。
- 3楼网友:不如潦草
- 2021-03-04 22:37
首先strcat(a,b) 这个函数中的2个参数是 字符串或者字符指针 是把b中的字符接到a后面 并且a要有足够的空间来容纳
- 4楼网友:掌灯师
- 2021-03-04 22:07
strcat(t,p)的时候编译会出错
2个参数都必须是指针,而且第一个指针指向的内存块必须足够大,才能存储下两个字符串的和
2个参数都必须是指针,而且第一个指针指向的内存块必须足够大,才能存储下两个字符串的和
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯