c语言//用指针型函数(函数返回值为指针)实现字符串连接函数strcat()的功能,将两个字符串连接起来

//用指针型函数(函数返回值为指针)实现字符串连接函数strcat()的功能,将两个字符串连接起来
#include<stdio.h>
#include<string.h>
char *str(char *p,char *p1)
{
while((*p)!='\0')
p++;
while((*p1++)!='\0')
{
(*p++)=(*p1++);
}
*p='\0';
return(p);
}
void main()
{
char *p2;
char ch1[50],ch2[50];
printf("请输入两串字符串\n");
gets(ch1);
gets(ch2);
p2=str(ch1,ch2);
printf("%s\n",p2);
}
为什么结果是空的一行

当然了,你看看你这个函数的最后一句
*p='\0';
return(p);
p自然指向的是一个'\0’了,应该直接printf(ch1);
还有你这个程序逻辑也是由问题的(我试了一下),自己去看看追问

我知道了
是那个return出了问题
我也想直接输出(ch1)
但我们老师要求函数返回值为指针呀

追答

那你在这个函数里以来就保存ch1的指针,然后最后直接返回ch1不就行了吗

温馨提示:内容为网友见解,仅供参考
无其他回答

用指针型函数(函数返回值为指针)实现字符串连接函数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语言编程怎么实现字符串连接?
在C语言中,进行字符串连接主要通过使用字符数组和指针实现。strcat函数便是完成这一操作的利器,能够将两个字符串连接在一起。strcat函数的声明为:char *strcat(char *dest, const char *src);这里dest代表目标字符数组,src代表源字符数组。函数执行后,将src中的内容追加到dest的末尾。下面是一个示例...

使用C++语言,用指针,输入两个字符串,将两个字符串连接起来
void main(){ char A[30] = "test";char B[4] = "add";strcat(A,B);\/\/A要有足够空间扩展B中内容 cout << A << endl;}

C语言用指针编程实现strcat函数的功能
1、首先打开vs2014,新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个函数addTwoNumbers。5、在main函数定义a,b,sum。6、声明函数指针ptr_sum。7、将addTwoNumbers函数地址赋值给ptr_sum。8、运行程序,看看结果。

C语言strcat函数怎么用
strcat原型:extern char *strcat(char *dest,char *src);功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。strcat()函数从名称来讲就是索的含义,用途:在一个字符串...

c语言指针实现字符拼接函数strcat
char *strcat(char *a, char *b);其功能为,将字符串b拼接到a的尾部,并将结果字符串返回。所以,实现该函数的思路为:1 找到字符串a的结尾;2 将b的所有字符复制到a尾部的空间中,到\\0为止。需要注意的是,复制的结果要包含b的结束符。代码如下:char *strcat(char *a, char *b){ cha...

关于strcat函数
strcat函数是C语言中的一个标准库函数,用于将两个字符串连接起来。它的原型是:char *strcat。详细解释如下:1. 函数功能:strcat函数的功能是将源字符串追加到目标字符串的末尾。也就是说,它会将src指向的字符串复制到dest所指向的字符串的后面,直到遇到src的结束符'\\0',然后添加自己的结束符'\\...

strcat函数用法
strcat函数是C语言中的一个标准库函数,用于连接两个字符串。该函数将源字符串的内容追加到目标字符串的末尾,并返回目标字符串。函数原型:char *strcat;其中,dest是目标字符串,即要追加内容的地方;src是源字符串,即要追加到目标字符串的末尾的内容。函数返回指向目标字符串dest的指针。函数用法详细...

c语言,输入两个字符串,连接成一个字符串,并输出。用指针实现。
include "stdio.h"include "conio.h"main(){char *p1,*p2;char a[20]="I am" ;char b[20]=" studen";p1 =a;p2 =b;while(*p1!='\\0')p1++;while(*p2!='\\0')p1++=*p2++;p1='\\0';printf("%s",a);} 编译通过没有问题!!!

C语言strcat函数怎么用
strcat用于将两个char类型链接的函数。函数原型:extern char strcat(char dest,char src);参数:dest 目标数组指针 src 源字符串指针 返回值:返回指向dest的指针 函数功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。注意事项:src和dest所指内存区域不可以重叠且dest必须有...

相似回答