C语言问题 #include <stdio.h> typedef struct {int b,p;} A; void f(A c)详见问题补充里的
C语言问题 #include <stdio.h> typedef struct {int b,p;} A; void f(A c)详见问题补充里的
日期:2018-03-13 23:38:25 人气:2
这是实参和形参结合的问题。主函数的变量a仅仅把自己的拷贝传给函数f(),函数f()仅仅操作了a的复制品,并不能改变原来主函数内a的值。你可以这样:
void f(A* c)
{int j;
c->b +=1; c->p+=2;
}
或者
void f(A *c)
{int j;
(*c).b +=1;(* c).p+=2; // .的优先级大于*,所有()不能省。
}
在主函数调用:
f(&a);
这样主函数把a的