int m(char * p) { p=malloc(10); return 1;} int main() { char
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/04 14:48:56
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;
}
忘了考虑这个实参传进去,最后怎么是修改实参了.
今天参加一公司C语言笔试,这一题没有做对.不知道该咋么改才是最佳答案,
int m(char * p)
{
p=malloc(10);
return 1;
}
int main()
{
char *p;
m(p);
strcpy(p,"abc");
return 0;
}
忘了考虑这个实参传进去,最后怎么是修改实参了.
原先的是传值,导致实参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;
}
修改为
int m(char **p)
{
*p = (char *)malloc(10);
return 1;
}
int main()
{
char *p;
m(&p);
strcpy(p,"abc");
free(p);
return 0;
}
int m(char * p) { p=malloc(10); return 1;} int main() { char
main(){ char *p,*q; p=(char*)malloc(sizeof(char)*20);q=p; sc
c 语言一道小问题#include int main(){char str[ ]= "Hello";char *p=st
详解下面的程序题.#include void main(){ char *p,*q;p=(char *)malloc(s
char point(char*p) {p+=3;return *P} main() {char b[4]={'a','
void f(char **p) { char *t; t=(p+=sizeof(int))[-1]; printf("
#include main() { char *p[]={ "BOOL","OPK","H","SP"}; int i;
int f(int a) {return a%2;} int main(int argc,char* argv[]) {
main() {char *s1,*s2,m; s1=s2=(char*)malloc(sizeof(char)); *
void fun (char *a,char *h,char *p) { int j=0; char *q=a; whi
main() { char a[]={'a','b','c','d'}; char *p=(char *)(&a+1);
我的式子错在哪?#include#include#include int main(void) { char ch; p