风雨聆醉
2016-10-28 21:45
请问我的运行结果为什么是这样的(如图)?代码检查跟老师一模一样的。
bool Tree::AddNode(int nodeIndex, int direction, int *pNode) { if (nodeIndex < 0 || nodeIndex >= m_iSize) { return false; } if (m_pTree[nodeIndex] == 0) { return false; } if (direction = 0)//左孩子 { if (nodeIndex * 2 + 1 >= m_iSize) { return false; } if (m_pTree[nodeIndex * 2 + 1] != 0) { return false; } m_pTree[nodeIndex * 2 + 1] = *pNode; } if (direction = 1)//右孩子 { if (nodeIndex * 2 + 2 >= m_iSize) { return false; } if (m_pTree[nodeIndex * 2 + 2] != 0) { return false; } m_pTree[nodeIndex * 2 + 2] = *pNode; } return true; }
你的第七行语句,if(direction==0)出现了两个等号,这种编译器一般不会报错
if(direction == 0)两个等号
求解答,感激不尽。
数据结构探险之树篇
56460 学习 · 116 问题
相似问题