ftsg.net
当前位置:首页 >> 怎么使用指针编写函数strCAt(),实现两个字符串的... >>

怎么使用指针编写函数strCAt(),实现两个字符串的...

这个是安全加强型,通过指定字符数组长度来避免越界: #include char* strcat(char* dest, int size, char* souc) { char* p = dest; while(*p != '\0')++p; while((p != dest + size - 1) && *souc != '\0') { *p++ = *souc++; } return dest; ...

为了区别库函数,我把strcat改名为 _strcat #include #include void _strcat(char*p_str1,char*p_str2) { int i,j; for(i=0;*(p_str1+i)!='\0';i++) { } for(j=i;*(p_str2)!='\0';j++) *(p_str1+j)=*(p_str2++); *(p_str1+j)='\0'; } main() { c...

void strcat(char *p,char *q) {char *point=p; while(*point) point++; /* 移到字符串末尾 */ while(*q) {*point=*q; /* 连接 */ point++; q++; } *q='\0'; /* 结束符 */ }

楼主,你如果要编写函数,首先要由个思想。 就是得到两个字符串的时候,如果要连接它们。 就要先得到它们的长度,然后动态申请个能包容它们的另外的一个指针。 然后在拷贝过去.. 当然我是这么想的... 具体的代码就不用了吧~?

#include void main() { char s1[20],s2[10]; int i=0,j=0; gets (s1),gets (s2); while (s1[i] !='\0') { i++; } while (s2[j] != '\0') {s1[i++]=s2[j++];} puts (s1); }

具体见下图: 其中char *strcat(char *str1,char *str2);是strcat函数实现的方法,main函数用于测试strcat准确性,具体如上!

其实你主体写得很好了,只是没明确到底是做什么: #includevoid main(){char *p(char *a,char *b);char i[20],j[20];printf("请输入字符串1:");scanf("%s", i);printf("请输入字符串2:");scanf("%s", j);//p(i,j);printf("%s\n",p(i,j));//*p...

对于strcat,其格式为 char *strcat(char *a, char *b); 其功能为,将字符串b拼接到a的尾部,并将结果字符串返回。 所以,实现该函数的思路为: 1 找到字符串a的结尾; 2 将b的所有字符复制到a尾部的空间中,到\0为止。 需要注意的是,复制的结...

#include void fun(char p1[], char p2[]) { char *h= p1,*p=p2,a[1024]; int i=0; while(*h){ a[i++]=*h; h++; } while(*p){ a[i++]=*p; p++; } a[i]='\0'; }

那得看实际情况埃 int n=0,i,j=0; char *p=s,a[100},s={"a","d","d"},t={"f","g"}; for(i=0;i

网站首页 | 网站地图
All rights reserved Powered by www.ftsg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com