请大神们帮我看看我的程序为什么实现不了。
/*编程实现两个字符串进行连接操作,并在main函数中验证*/
#include <stdio.h>
strcopy(char *str1,char *str2)
{
while((*str1)!='\0')
{
*str1++;
while((*str2)!='\0')
{
*str1++=*str2++;
}
*str1='\0';
}
}
void main()
{
char str1[10],str2[10];
printf("str1:\n");
gets(str1);
printf("str2:\n");
gets(str2);
printf("连接后:%s\n",strcopy(str1,str2));
}
#include<stdio.h>
#include<assert.h>
void my_strcat( char *arr1,const char *arr2)
{
char* ret=arr1;
const char* dst=arr2;
assert(arr1);
assert(arr2);
while(*ret)00
{//将指针所指目标转移到未赋值的字符位置
ret++;
}
while(*dst)
{
*ret = *dst;
dst++;
ret++;
}
*ret=*dst; //将' \0 '拷贝到arr1中
printf("%s\n",arr1);
}
int main()
{
char arr1[32]="I am a ";
const char arr2[]="good student!";
my_strcat(arr1,arr2);
return 0;
}
运行效果:
其它方法:
#include<stdio.h>
#include<string.h>
#include<assert.h>
void my_strcat( char* arr1, const char* arr2,int n)
{
char* p = arr1;
char* q =(char *)arr2;
assert(arr1);
assert(arr2);
p = p + n;
while( *q!= '\0')
{
*p = *q;
p++;
q++;
}
*p = *q;
printf("%s\n",arr1);
}
int main()
{
char arr1[32]="I am a";
const char arr2[]=" good boy!";
int n=strlen(arr1);
my_strcat(arr1,arr2,n);
return 0;
}
本回答被网友采纳执行结果:
#include <stdio.h>
char *strcopy(char *str1,char *str2)
{
char *p = str1;
while((*str1)!='\0') str1++;
while((*str2)!='\0')
{
*str1++=*str2++;
}
*str1='\0';
return p;
}
void main()
{
char str1[20],str2[10]; //开辟大一点的空间
printf("str1:\n");
gets(str1);
printf("str2:\n");
gets(str2);
printf("连接后:%s\n",strcopy(str1,str2));
}
本回答被提问者采纳C语言用指针编程实现strcat函数的功能
1、首先打开vs2014,新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个函数addTwoNumbers。5、在main函数定义a,b,sum。6、声明函数指针ptr_sum。7、将addTwoNumbers函数地址赋值给ptr_sum。8、运行程序,看看结果。
...实现字符串连接函数strcat()的功能,将两个字符串连接起来
include<stdio.h>void 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你要输出的是字符串,应该输入字符串连接后的字符串的地址}char ...
c语言指针实现字符拼接函数strcat
其功能为,将字符串b拼接到a的尾部,并将结果字符串返回。所以,实现该函数的思路为:1 找到字符串a的结尾;2 将b的所有字符复制到a尾部的空间中,到\\0为止。需要注意的是,复制的结果要包含b的结束符。代码如下:char *strcat(char *a, char *b){ char *p = a; while(*p) p ++; ...
如何用c语言编写strcat函数
C语言中 本身有strcat函数。如果要自己实现 可以采用指针方式:char *my_strcat(char *s, char *d){ char *r = s; while(*r) r++; while(*d) *r++=*d++; *r=0; return s;}
C语言strcat函数怎么用
功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。strcat()函数从名称来讲就是索的含义,用途:在一个字符串的末尾增加新的字符。函数定义如下:char *strcat(char *...
C语言strcat函数怎么用
strcat(char dest,char src);参数:dest 目标数组指针 src 源字符串指针 返回值:返回指向dest的指针 函数功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。注意事项:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。使用时额外包含 include <...
c语言strcat函数怎么用
C语言strcat函数的使用方法 一、函数概述 strcat函数是C语言中用于字符串拼接的函数。它可以将一个字符串拼接到另一个字符串的末尾,并返回目标的指针。二、函数原型 strcat的函数原型为:char *strcat; 其中,dest是目标字符串,src是源字符串。三、使用步骤 1. 声明字符串变量并初始化目标字符串。例...
c语言编程怎么实现字符串连接?
在C语言中,进行字符串连接主要通过使用字符数组和指针实现。strcat函数便是完成这一操作的利器,能够将两个字符串连接在一起。strcat函数的声明为:char *strcat(char *dest, const char *src);这里dest代表目标字符数组,src代表源字符数组。函数执行后,将src中的内容追加到dest的末尾。下面是一个示例...
...程序,通过自定义函数实现字符串处理函数strcat、 strcpy、strcmp、str...
void strcat(char *p1, char *p2){ while(*p1){ p1++;} while(*p2){ p1 = *p2;p1++;p2++;} p1 = '\\0';} 注意 p1开的数组要比p2大哦 int strlen(char *p1){ char *s=p1; \/\/将指针s指向指针p,即指向str1 while(*s) \/\/当*s不为'\\0'的时候 s++; \/\/指针指向下一个...
c语言之strcat()
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!