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

编译器没有关问题,但运行有异常

2012-08-08 
编译器没问题,但运行有错误~typedef struct LNode{int datastruct LNode*next}LNode,*LinkListvoid Cre

编译器没问题,但运行有错误~
typedef struct LNode
{
int data;
struct LNode *next;

}LNode,*LinkList;


void Create_L(LinkList L,int n)
 {//生成n的节点,并用随机数给它们赋值
 
int i;
LinkList p;
p=L;
 
srand((unsigned)time(NULL));//初始化随机数
printf("被调用1");//这个可以输出 
  for(i=0;i<n;i++)
{
p->next=(LinkList)malloc(sizeof(LNode));
 
p=p->next;
p->data=rand()%10;//随机产生0~10的随机数
}
printf("被调用2");//但这个输不出
  p->next=NULL;

}



[解决办法]
#include "stdafx.h"
#include <ctime>
#include <cstdio>
#include <cstdlib>
typedef struct LNode
{
int data;
struct LNode *next;

}LNode,*LinkList;

void Create_L(LinkList L,int n)
{//生成n的节点,并用随机数给它们赋值

int i;
LinkList p;
p=L;

srand((unsigned)time(NULL));//初始化随机数
printf("被调用1");//这个可以输出
for(i=0;i<n;i++)
{
p->next=(LinkList)malloc(sizeof(LNode));
p->data=rand()%10;//随机产生0~10的随机数
p=p->next;

}
printf("被调用2");//但这个输不出
p->next=NULL;
printf("\n");
}
void printList(LinkList L)
{
LinkList pTemp=L;
while(pTemp->next)
{
printf("%d ",pTemp->data);
pTemp=pTemp->next;
}
printf("\n");
}
void deleteList(LinkList L)
{
LinkList pTemp;
while(L)
{
pTemp=L;
L=L->next;
free(pTemp);
}
}
int main(int argc, char* argv[])
{
LinkList Head=(LinkList)malloc(sizeof(LNode));
Head->data=0;
Create_L(Head,10);
printList(Head);
deleteList(Head);

return 0;
}

热点排行