0

这是我的代码

    int front=-1, rear=-1, CQUEUE[MAX];
    int isFull()
    {
      if((rear=MAX-1 && front==0) || front==rear+1)
        return 1;
      else
        return 0;
    }
    void enQueue()
    {
      printf("\nValue of rear=%d front=%d",rear,front);
      char ch;
      if(!isFull())
      {
        printf("\nValue of rear=%d front=%d",rear,front);
      ......

这是调用函数 enQueue() 的输出

Value of rear=-1 front=-1
Value of rear=0 front=-1

的值rear增加了 1,尽管我没有手动增加它。

4

2 回答 2

1

查看您的第一个 if 语句。

if (rear=MAX-1  ...)
// maybe better if you type:
if (rear==MAX-1 ...)
于 2020-09-28T04:56:58.140 回答
1

您正在使用赋值运算符,您应该在=其中使用 eq 比较运算符==isFull

int isFull()
{
  if((rear==MAX-1 && front==0) || front==rear+1)
    return 1;
  else
    return 0;
}
于 2020-09-28T04:57:08.137 回答