为什么变量值会自动改变?

Why is the variable value changing automatically?

这是我的代码

    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,尽管我没有手动增加它。

看看你的第一个 if 语句。

if (rear=MAX-1  ...)
// maybe better if you type:
if (rear==MAX-1 ...)

您正在使用赋值运算符 =,而您应该在 isFull

中使用 eq 比较运算符 ==
int isFull()
{
  if((rear==MAX-1 && front==0) || front==rear+1)
    return 1;
  else
    return 0;
}