大家好,我有个很棘手的问题,帮忙看下,能编译通过但是不能运行
LinkList.h
typedef struct LNode
{
int nData;
LNode *pNext;
}LinkList;
bool InitLinkList(LinkList *L, const int arrData[], const int nLength);
bool DisplayLinkList(const LinkList *L);
LinkList.cpp
#include <iostream>
#include "LinkList.h"
using namespace std;
bool InitLinkList(LinkList *L, const int arrData[], const int nLength)
{
L = (LinkList *)malloc(sizeof(LinkList));
L->pNext = NULL;
LNode *pNode = NULL;
for (int i = 0; i < nLength; i++)
{
pNode = (LNode *)malloc(sizeof(LNode));
if (NULL == pNode)
{
printf("InitList Failed!");
return false;
}
pNode->nData = arrData[i];
pNode->pNext = L->pNext;
L->pNext = pNode;
}
return true;
}
bool DisplayLinkList(const LinkList *L)
{
if (NULL == L->pNext)
{
return false;
}
LNode *pNode = L->pNext;
while (NULL != pNode->pNext) //就到这里就过不去了
{
cout << 1 << endl;
cout << pNode->nData << ",";
pNode = pNode->pNext;
}
cout << pNode->nData << endl;
return true;
}
main.cpp
#include "LinkList.h"
int main(int argc, char* argv[])
{
LinkList List;
int Array[10] = {2, 3, 5, 8, 9, 11, 34, 101, 66, 90};
if( !InitLinkList(&List, Array, sizeof(Array)/sizeof(int)) )
{
return -1;
}
if (!DisplayLinkList(&List))
{
return -1;
}
return 0;
}
这个是一个简单的链表程序,可以编译通过,但是无法运行,问题出在DisplayLinkList这个函数,
哪位大侠帮忙解释一下为啥,谢谢了
...全文
相关推荐
关于交叉编译不能运行的问题
关于交叉编译不能运行的问题关于交叉编译不能运行的问题关于交叉编译不能运行的问题
Codeblocks17.12无法编译运行&不能调试的解决办法.docx
本文档用于解决Codeblocks17.12无法编译运行&不能调试的问题 Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(2.6.2 unicode)版。
CodeBlocks运行编译器解决程序无法编译的问题
CodeBlocks安装后缺少的GCC编译器,只需将压缩包解压后,把文件夹复制在CodeBlocks文件夹下,覆盖原同名文件即可
解决Windows下bat文件不能直接运行问题.docx
解决Windows下bat文件不能直接运行问题 bat文件不能直接运行,打开变成是记事本方式的,下面我们看下解决方法:
十个最棘手的面试问题
十个最棘手的面试问题,感兴趣的可以学习下



