建键表的一个问题:请各位进来,UP有分! 因为你第一次循环时,没给L->DATA付值.直接给P->DATA了.所以L->DATA的值为负 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 L->next = NULL;printf("please input number 5 INT data:\n");p=L;for (n = 5;n > 0;--n){ scanf("%d",&p->data); p = (MyLNode*)malloc(sizeof(MyLNode)); p->next =NULL; L->next = p;} L->next = NULL;printf("please input number 5 INT data:\n");p=L;struct MyLNode* q;q=L;for (n = 5;n > 0;--n){ scanf("%d",&p->data); q=p; p = (MyLNode*)malloc(sizeof(MyLNode)); p->next =NULL; q->next = p; } struct MyLNode* Head = NULL;struct MyLNode* p = NULL;for (n = 5;n > 0;--n){ p = (MyLNode*)malloc(sizeof(MyLNode)); p->data = data; p->next = NULL; if( Head ) { p->next = Head; Head = p; } else { Head = p; }} for (p = Head;p->next != NULL;p = p->next) { //printf("链表第%d个数据:\n",n); printf("%d\n",p->data); } 算算你有几个(MyLNode*)malloc(sizeof(MyLNode)):1+5第一个(MyLNode*)malloc(sizeof(MyLNode))你没有读,当然会出现负数了。其实你这个应该是个堆栈吧!改起来应该挺方便的:for(n = 5; n > 0; --n){p = (MyLNode*)malloc(sizeof(MyLNode));scanf("d",&p->data);p->next = L->next;L = p;//第一个数据就是你最新读的数据,最后一个数据不会被读到,所以即使是没有初始化也不要紧。} 关于数据传输问题,请高手指点! 利用CImage实现多窗口文件打开图像无法画在新建窗口中 vc6中有类似togglebutton的控件吗 请教一个多线程调用同一个MFC规则DLL的变量共享的问题? 如何用WINNET调用WEBSERVICE? 高分求救~~~ 如何循环播放MIDI TCP/IP的五层结构????? 请家教!给钱!!!!!!!!!!!!!!! 在VC的DLL中导出函数的一个参数是CString型的,在Delphi中调用该函数可以吗? 各位精英,怎样开发跨平台的应用程序? 怎样在CTypedPtrList中删除除头尾外任一的节点 ListView中如何以表格的画线形式显示
printf("please input number 5 INT data:\n");
p=L;
for (n = 5;n > 0;--n)
{
scanf("%d",&p->data);
p = (MyLNode*)malloc(sizeof(MyLNode));
p->next =NULL;
L->next = p;
}
p=L;
struct MyLNode* q;
q=L;
for (n = 5;n > 0;--n)
{
scanf("%d",&p->data);
q=p;
p = (MyLNode*)malloc(sizeof(MyLNode));
p->next =NULL;
q->next = p;
}
struct MyLNode* p = NULL;for (n = 5;n > 0;--n)
{
p = (MyLNode*)malloc(sizeof(MyLNode));
p->data = data;
p->next = NULL;
if( Head )
{
p->next = Head;
Head = p;
}
else
{
Head = p;
}
}
for (p = Head;p->next != NULL;p = p->next)
{
//printf("链表第%d个数据:\n",n);
printf("%d\n",p->data);
}
第一个(MyLNode*)malloc(sizeof(MyLNode))你没有读,当然会出现负数了。其实你这个应该是个堆栈吧!改起来应该挺方便的:for(n = 5; n > 0; --n){
p = (MyLNode*)malloc(sizeof(MyLNode));
scanf("d",&p->data);p->next = L->next;
L = p;//第一个数据就是你最新读的数据,最后一个数据不会被读到,所以即使是没有初始化也不要紧。
}