这是我的代码
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,尽管我没有手动增加它。
答案 0 :(得分:1)
看看您的第一个if语句。
if (rear=MAX-1 ...)
// maybe better if you type:
if (rear==MAX-1 ...)
答案 1 :(得分:1)
您正在使用赋值运算符=
,在==
中应该使用eq比较运算符isFull
int isFull()
{
if((rear==MAX-1 && front==0) || front==rear+1)
return 1;
else
return 0;
}