当前位置: 代码迷 >> C语言 >> 顺序表问题,结果很奇怪的(12点前在线等待)
  详细解决方案

顺序表问题,结果很奇怪的(12点前在线等待)

热度:243   发布时间:2006-05-10 22:58:00.0
以下是引用论坛在2006-5-10 22:56:00的发言:
k=0;

这句

我让它指向空不可以吗


----------------解决方案--------------------------------------------------------
你试试不就知道了吗
----------------解决方案--------------------------------------------------------
以下是引用论坛在2006-5-10 22:58:00的发言:
你试试不就知道了吗

我本来就没有写这,这是我后来的时候调的时候加的


----------------解决方案--------------------------------------------------------
以下是引用论坛在2006-5-10 22:58:00的发言:
你试试不就知道了吗

事实上我的感觉是要不要都没有什么影响
反正运行结果是跟这个没有关系,要不要都一样


----------------解决方案--------------------------------------------------------
等我写一个
----------------解决方案--------------------------------------------------------
以下是引用论坛在2006-5-10 23:04:00的发言:
等我写一个

我就不明白这个怎么错了
要找的话这样的程序有很多的
我想找到我的错误啊
这样才可以提高啊


----------------解决方案--------------------------------------------------------
以下是引用feng1256在2006-5-10 22:56:00的发言:

禁止聊天,我来了

我12点就断网了
最好让我安心的睡觉,我先谢谢了
弄不好的话睡觉都不爽

----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define LISTSIZE 100
#define INCREMENT 10

typedef struct
{
int *elem;
int length;
int listsize;
}LinkList;

static LinkList Init(LinkList L);
static LinkList Input(LinkList L, int n);
static void Output(LinkList L, int n);
int main(void)
{
LinkList L;
int n;

L = Init(L);

printf("Enter n: ");
scanf("%d", &n);

L = Input(L, n);

Output(L, n);
free(L.elem);

getch();
return 0;
}

static LinkList Init(LinkList L)
{
if ((L.elem = (int *)malloc(sizeof(int) * LISTSIZE)) == NULL)
{
exit(1);
}
L.length = 0;
L.listsize = LISTSIZE;

return L;
}

static LinkList Input(LinkList L, int n)
{
int i;

for (i = 0; i < n; i++)
{
scanf("%d", &L.elem[i]);
L.length++;
if (L.length > L.listsize)
{
if ((L.elem = (int*)realloc(L.elem, sizeof(int) *(L.listsize + INCREMENT))) == NULL)
{
exit(1);
}
L.listsize += INCREMENT;
}
}

return L;
}

static void Output(LinkList L, int n)
{
int i;

for (i = 0; i < n; i++)
{
printf("%d ", L.elem[i]);
}
}





----------------解决方案--------------------------------------------------------
if (L.length > L.listsize)
{
if ((L.elem = (int*)realloc(L.elem, sizeof(int) *(L.listsize + INCREMENT))) == NULL)
{
exit(1);
}
L.listsize += INCREMENT;
这个地方可能还有点问题,但我想不起来了
----------------解决方案--------------------------------------------------------

兄弟能不能看看我的程序啊
我到现在还不知道自己哪错了啊
再过会我就要下了啊


----------------解决方案--------------------------------------------------------
  相关解决方案