首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

下面这段代码能把q的值带回来吗?解决办法

2012-04-14 
下面这段代码能把q的值带回来吗?C/C++ codetypedef structpoly{float coefint expnstruct poly *next}p

下面这段代码能把q的值带回来吗?

C/C++ code
typedef struct  poly{    float coef;    int expn;    struct poly *next;}poly,*lpoly;int locate(lpoly p,int expn,lpoly q){    lpoly r;    inist(&r);    q=p;    if (expn>(q->expn))        return 0;    else     {        r=q;        q=q->next;        while (q!=NULL&&(expn>q->expn))            {                r=q;                q=q->next;            }    q=r;    return 1;    }}

我试了几次,每次用q->expn时都是没有赋值!

[解决办法]
想把q的值带出来,如果是C++的话可以用引用:
定义成如下形式:
int locate(lpoly p,int expn,lpoly &q)

如果是C的话,就只能用二级指针了。
将q 替换成 *q


[解决办法]
你只是改变q的值,没有改变q指向的结构的值
q只是一个指针,你改变指针的值不会带回来的

热点排行