首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指针的打印有关问题

2013-11-21 
指针的打印问题代码如下 : 打印出错,求大神指点!#include stdio.h#include string.hchar *app(char *s

指针的打印问题
代码如下 : 打印出错,求大神指点!

#include <stdio.h>
#include <string.h>

char *app(char *string1, char *string2)
{
char s1[20] = {0}, s2[20] = {0};

strcpy(s1,string1);
strcpy(s2,string2);

return strcat(s1,s2);
}

void main(void)
{
char *p1 = "abcd";
char *p2 = "cde";
char *p;

p = app(p1,p2);
printf(p);
printf("\n");
}
指针?
[解决办法]
出现乱码是引文,返回的是局部指针的吧!函数返回的是s1的地址,局部指针!
修改了下,看看

#include <stdio.h>
#include <string.h>
 
char *app(char *string1, char *string2)
{
    char s2[20] = {0};

//  strcpy(s1,string1);
    strcpy(s2,string2);

    return strcat(string1,s2);
}

int main(void)
{
    char p1[20] = "abcd";
    char *p2 = "cde";
    char *p; 

    p = app(p1,p2);
    printf("%s\n", p); 

    return 0;
}

热点排行