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,
xN@_eA6>I!M'Ɛ((xäK4Q#Ԩ .%}9a+N+/ݸi;gg Ǘ*$$-W0 Fli4"*-˝Q{m97,D2>fɰ Wp &);FkL?Ywm>E rggIb5ǹ_髴֧ tzѓթі*~@` Ϗu-_T4A컂蟞??q#~e052(0eՏ8t/mCd9TUTHM'fFXc>Pm@^v&(ϮQػZ+PCG!/a#z0.20j;c/Fɍ*"z0GNwd˧[``OE9ױ;)y2q0:

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;
}