#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 关注
- 1421 浏览
添加回答
举报
0/150
提交
取消