如何解决为什么变量值会自动更改?
这是我的代码
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",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 ...)
,
您正在使用赋值运算符=
,在==
中应该使用eq比较运算符isFull
int isFull()
{
if((rear==MAX-1 && front==0) || front==rear+1)
return 1;
else
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。