C语言字符指针问题,请会的进来看下
来源:百度知道 编辑:UC知道 时间:2024/05/29 09:27:46
#include "stdio.h"
#include "conio.h"
#include<stdlib.h>
char add(char *p,char *pt)
{
char *ptr=p;
ptr=strncat(p,pt,7);
return ptr;
}
main()
{
char a[]="World!",*b="Hello";
char *p,*pt,*ptr;
p=a,pt=b;
ptr=add(pt,p);
puts(ptr);
getch();
}
大家帮我看下我的程序错在哪,程序功能是函数add接受main函数的两个字符数组,并把两个字符数组连接起来并用指针返回给main函数!谢
把这里char add(char *p,char *pt)改成char *add(char *p,char *pt),编译器会报警,提示ptr=strncat(p,pt,7);不可移动的指针在add函数中,但可以得到结果,怎样才能把报警的错误清除?
#include "conio.h"
#include<stdlib.h>
char add(char *p,char *pt)
{
char *ptr=p;
ptr=strncat(p,pt,7);
return ptr;
}
main()
{
char a[]="World!",*b="Hello";
char *p,*pt,*ptr;
p=a,pt=b;
ptr=add(pt,p);
puts(ptr);
getch();
}
大家帮我看下我的程序错在哪,程序功能是函数add接受main函数的两个字符数组,并把两个字符数组连接起来并用指针返回给main函数!谢
把这里char add(char *p,char *pt)改成char *add(char *p,char *pt),编译器会报警,提示ptr=strncat(p,pt,7);不可移动的指针在add函数中,但可以得到结果,怎样才能把报警的错误清除?
char add(char *p,char *pt) /*这出问题了 返回的是字符 不是指针*/
char *add(char *p,char *pt)/*这才是返回指针*/
/*快加分要不下次不答你的题*/
>把这里char add(char *p,char *pt)改成char *add(char *p,char *pt),编译器会报警,提示ptr=strncat(p,pt,7);不可移动的指针在add函数中,但可以得到结果,怎样才能把报警的错误清除?
前头加一行:
#include <string.h>
用strcat(p,pt);链接两个串