还是线性的问题(已解决)
#include<stdio.h>
struct list
{
char list1;
int size;
};
void setnull(struct list *p)
{
p->size=0;
}
void insert(struct list *p,char x,int i)
{
int j;
if(i<1&&i>p->size+1)
printf("位置不正确!\n");
else
{
p->size++;
for(j=p->size-1;j>i;j--)
p->list1=p->list1;
p->list1=x;
}
}
在插入的那里,比如说是第一次插入一个数, p->size就等于一了,然后执行for(j=p->size-1;j>i;j--)
p->list1=p->list1;
那j 不就是等于零了吗?怎么能进行这操作呢?p->list1=p->list1; 那时 i=1, j=0那怎么可以插入呢? 应该连for 循环都进入不了啊? 偶知道了,不好意思 - -|||.................
页:
[1]