typedef struct node * Node; /* pointer to a list node */
struct node { /* list node type */
int data;
Node next;
};
Node first,mid,last;
first->next = work;
*mid->next = work;
(*last)->next = work;
上传个源代码,里面很多地方用到第三种情况的
上面三个红色标记的地方有什么不同
不好意思,补上了
[此贴子已经被作者于2007-10-29 15:58:15编辑过]
----------------解决方案--------------------------------------------------------
能不能写清楚,
first,mid,last是怎么定义的
----------------解决方案--------------------------------------------------------
first->next = work; /*就是将WORK的值给NEXT */
*mid->next = work; /* 相当于*(mid->next) 因为运算等级->高一些 */
(*last)->next = work; /* 这个应该是错的嘛,应该是 (*last).next = work; */
----------------解决方案--------------------------------------------------------
上面三个都是正确的,前面两个我都还明白,只是第三个有点不明白而已
----------------解决方案--------------------------------------------------------
typedef struct node * Node; /* pointer to a list node */
struct node { /* list node type */
int data;
Node next;
};
Node first,mid,last;
first->next = work;
*mid->next = work;
(*last)->next = work;
上面三个红色标记的地方有什么不同
不好意思,补上了
第一个是first->next指针向work所指的地方
第二个是min->next里的内容存的是work所指向的地址
第三个应该改为(*last).next=work
[此贴子已经被作者于2007-10-29 13:37:18编辑过]
----------------解决方案--------------------------------------------------------
第三个是没有错的,它在Dev-c++ 4.9.9.2中通过,结果也正确
附件里的代码可以运行,结果也正确
它里面很多地方就是用第三个的用法
----------------解决方案--------------------------------------------------------