为什么如果说明未输入null时
Why if statement is not entering when Null
我有下一个代码,当raiz
为null时未输入if语句
我已经尝试像if(raiz != NULL)
一样尝试使用其他方式,并且在其他语句中试图运行代码:
masAlto = 1;
raiz = Nuevo;
这是我的代码:
void InsertaAVL(arbolAVL *raiz, arbolAVL *Nuevo, int masAlto)
{
arbolAVL *a = raiz;
int subarbolmasAlto = FALSO;
if (raiz == NULL)
{
masAlto = 1;
raiz = Nuevo;
}
else
{
if (raiz->llave > Nuevo->llave)
{
//Insertar a la Izquierda
InsertaAVL(raiz->Izq, Nuevo, subarbolmasAlto);
if (subarbolmasAlto == VERDADerO)
{
switch(raiz->FBalance)
{
case LH : BalanceIzquierdo(raiz,masAlto);
break;
case RH : raiz->FBalance = EH;
masAlto = FALSO;
break;
case EH : raiz->FBalance = LH;
masAlto = VERDADerO;
break;
}
}
else
masAlto = FALSO;
}
else
{
InsertaAVL(raiz->Der, Nuevo, subarbolmasAlto);
if (subarbolmasAlto == VERDADerO)
{
switch(raiz->FBalance)
{
case LH : raiz->FBalance = EH;
break;
case RH : BalanceDerecho(raiz,masAlto);
break;
case EH : raiz->FBalance = RH;
masAlto = VERDADerO;
break;
}
}
else
masAlto = FALSO;
}
}
}
我希望当 raiz
null输入if语句
it dis 输入if
语句true
分支,尽管我更喜欢if (!raiz)
作为条件,因为这对C的NULL
和C 的nullptr
表现良好。有效地,尽管true
分支是一个无关,因为作业
masAlto = 1;
raiz = Nuevo;
对函数呼叫者传递的数量没有影响。您想要int* masAlto
& c吗?作为参数?
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 用户定义函数中的指针和输入
- 如何在C++中检查2D数组中负值的输入验证
- 如何只允许用户输入正整数
- 为什么如果说明未输入null时
- 如果输入为 NULL,则返回 -1
- cin函数是否添加了在输入结束时终止的null
- 如何用ADO和c++传递null给存储过程输入参数