用F5启动程序,遇到出错时候,选择重试,点击debug工具条的stack按钮,看看是哪个函数的哪个语句出的问题。
解决方案 »
- 关于VC模拟指南针!
- VS2008 的toolbar的按钮如何添加命令响应啊
- MFC:ClistView控件,单击项目得到项目内容。我用控件事件NM_CLICK,但不能获取内容啊。要重载OnNotify才行。为什么?
- 已经做好了一个exe可执行程序,现在想把exe封装为一个ocx控件在ie中调用,怎么封装那
- CPropSheet放在哪的问题?
- 如何得到动态的内存地址
- 为何在VC6.0中,EDIT在控件上只要一按enter程序就退出?
- 数据库高手,OLE_DB中如何使用参数查询??
- 套接字发送接收数据的问题?
- 各位老大救命 为什么我做汉化时候遇到这样问题
- 一个编译错误,请帮忙!
- 高分求解简单问题?
您好!
谢谢您的指点,但我还是找不出问题出在哪里?下面是我的源码,您能帮我指出问题所在吗?#include <iostream.h>
#define null 0struct pk{int id; //id值1到13,代表13张牌从上到下的排列;
int value; //VALUE值从1到13分别代表每张牌;
pk* pForward; //指向前一张牌的指针;
pk* pNext; //指向后一张牌的指针;
};
void main()
{
pk czz[13]; //声明一个共13个元素的PK结构数组,每个元素代表一张牌;
pk* pFirst=&czz[0]; //链首指针;
pk* pEnd=&czz[12]; //链尾指针;
pk* pTempFirst; //中间指针变量;
pk* pTempEnd; //中间指针变量;
for(int n=0;n<13;n++) //初始化数组元素;
{
if(n=0)
{
czz[n].id=n+1;
czz[n].value=0;
czz[n].pForward=(pk*)null;
czz[n].pNext=&czz[n+1];
}
else if(n=12)
{
czz[n].id=n+1;
czz[n].value=0;
czz[n].pForward=&czz[n-1];
czz[n].pNext=(pk*)null;
}
else
{
czz[n].id=n+1;
czz[n].value=0;
czz[n].pForward=&czz[n-1];
czz[n].pNext=&czz[n+1];
}
}
for(int j=1;j<=13;j++) //算出每个PK结构变量的value值;
{pTempFirst=pFirst;
pFirst=pEnd;
pFirst->pForward=(pk*)null;
pFirst->pNext=pTempFirst;
pTempFirst->pForward=pFirst;
pEnd=pEnd->pForward;
pTempEnd=pEnd;
pEnd->value=j;
pEnd->pNext=(pk*)null;
pEnd=pTempEnd->pForward;
pTempEnd->pForward=(pk*)null;
pEnd->pNext=(pk*)null;
if(pFirst->pNext=pEnd)
{pFirst->value=12;
pEnd->value=13;
break;
}
}
for(int m=0;m<13;m++)
{
cout<<czz[m].id<<":"<<czz[m].value<<"\n"<<endl;//从上到下输出每张牌,结果即为原始序列;
}
}
if(n=0) 这样的语句应全改为
if(n==0)的形式。
其它的容我再慢慢看。
if(n=0) ????? ---->if(n==0)
if(n=12) ????? ---->if(n==12)pTempFirst=pFirst;
pFirst=pEnd;
pFirst->pForward=(pk*)null; ???? 这样pEnd->pForword=NULL!!!!!
这里pFirst和pEnd指向同一地址。。没玩过指针啊。
pFirst->pNext=pTempFirst;
pTempFirst->pForward=pFirst;
pEnd=pEnd->pForward; ???? 这样就完蛋了。
if(n==12)????-----〉if(n==12)pTempFirst=pFirst;
pFirst=pEnd;
pFirst->pForward=(pk*)null; ??????? 这样pEnd->pForward = NULL;
pFirst->pNext=pTempFirst;
pTempFirst->pForward=pFirst;
pEnd=pEnd->pForward; ----->pEnd=NULL;啦学学如何使用指针吧。
if(pFirst->pNext=pEnd)
也要改过来还有我看不懂你第二个for循环在做什么?你的id和Value有什么区别?既然用了链表(第一个for循环如果正确完成,则此链表以做好),为什么还要用for循环,你没有发现在for循环对链表进行操作很烦人吗?请告诉我你的程序要完成什么任务。
[email protected]
因为if(n=0) 和if(n=12)的错误,实际上只初始化了czz[12]一个元素……