Troy825796077
Troy825796077
采纳率100%
2015-03-13 09:37 阅读 1.7k
已采纳

为什么第37行改成if(j=k),程序就出错,明明j不可能大于k啊

//求集合A和B的交集
#include
#include

#define MAXSIZE 100

/*
顺序表结构体定义
*/
typedef struct node {
int data[MAXSIZE];
int length;
}SeqList,*PSeqList;

/*
顺序表的初始化
*/
PSeqList Init_SeqList(void)
{
PSeqList PL;
PL=(PSeqList)malloc(sizeof(SeqList));
if(PL)
PL->length=0;
return PL;
}
void Inter_Sec(PSeqList A,PSeqList B)
{
int i=0,j;
int k=B->length;
while(ilength)
{
int x=A->data[i];
j=0;
while(jdata[j])
j++;
if(j>=k)
{
for(int m=i;mlength;m++)
A->data[m]=A->data[m+1];
A->length--;
}
else
i++;
}
}

int main()
{
int i;
PSeqList A=Init_SeqList();
PSeqList B=Init_SeqList();
A->length=6;
B->length=5;
for(i=0;i A->data[i]=i+1;
for(i=0;i B->data[i]=i-1;
Inter_Sec(A,B);
for(i=0;ilength;i++)
printf("%d ",A->data[i]);
getchar();
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    xianfajushi 智者知已应修善业 2015-03-13 11:46

    j==k j=k?

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-03-13 10:17

    难道你不会单步调试么?仔细检查下,看能看出问题么?

    点赞 评论 复制链接分享

相关推荐