int m(char * p) { p=malloc(10); return 1;} int main() { char *p; m(p); strcpy(p,"abc"); return 0;}今天参加一公司C语言笔试,这一题没有做对.不知道该咋么改才是最佳答案,int m(char * p){ p=malloc(10); return 1;}int main() { c
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 08:45:06
int m(char * p) { p=malloc(10); return 1;} int main() { char *p; m(p); strcpy(p,"abc"); return 0;}今天参加一公司C语言笔试,这一题没有做对.不知道该咋么改才是最佳答案,int m(char * p){ p=malloc(10); return 1;}int main() { c
int m(char * p) { p=malloc(10); return 1;} int main() { char *p; m(p); strcpy(p,"abc"); return 0;}
今天参加一公司C语言笔试,这一题没有做对.不知道该咋么改才是最佳答案,
int m(char * p)
{
p=malloc(10);
return 1;
}
int main()
{
char *p;
m(p);
strcpy(p,"abc");
return 0;
}
忘了考虑这个实参传进去,最后怎么是修改实参了.
int m(char * p) { p=malloc(10); return 1;} int main() { char *p; m(p); strcpy(p,"abc"); return 0;}今天参加一公司C语言笔试,这一题没有做对.不知道该咋么改才是最佳答案,int m(char * p){ p=malloc(10); return 1;}int main() { c
原先的是传值,导致实参p没有分配内存成功(分配给函数里的形参p了)
修改为
int m(char **p)
{
*p = (char *)malloc(10);
return 1;
}
int main()
{
char *p;
m(&p);
strcpy(p,"abc");
free(p);
return 0;
}