[英]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
int isFull()
{
if((rear==MAX-1 && front==0) || front==rear+1)
return 1;
else
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.