为了账号安全,请及时绑定邮箱和手机立即绑定

关于c语言函数

关于c语言函数

C
kkkbbb 2016-02-19 13:04:37
#include<stdio.h> #include<stdlib.h> #include<string.h> #define da 100 int add(char *p){         p=(char*)malloc(da*sizeof(char));         scanf("%100s",p);         int size=strlen(p);         if(size==da)         p=(char*)realloc(p,(da+10)*sizeof(char));         return 0; } int main(void){         char *p,*t;         int size,nbytes;         add(p);         add(t);         size=strlen(p);         nbytes=strlen(t);         if(size!=nbytes){         printf("两次数据大小不一\n");         return -1; }         printf("%d\n",size);         printf("%s\n",p);         printf("%c\n",p[1]);         free(p);         free(t);         return 0; }这些代码编译通过,但是运行时  输入完字符串以后会提示段错误,  如果去掉add函数,把add里的东西都放到main里  程序编译完后正常运行,,这是为啥  指针要怎么传入
查看完整描述

1 回答

  • 1 回答
  • 2 关注
  • 1382 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信