C++ 在C程序中,运行时忽略if语句

C++ 在C程序中,运行时忽略if语句,c++,linked-list,C++,Linked List,调试时,我在“else if”部分发现if(temp->parent==temp1)语句没有检查true或false。控件直接跳转到Send()函数。请告诉我哪里出了问题 else if(I_Send(my_rank,global_parent,&dest,num_procs)) { if(temp->parent==temp1) { fix_node[my_rank]==temp;

调试时,我在“else if”部分发现
if(temp->parent==temp1)
语句没有检查
true
false
。控件直接跳转到
Send()
函数。请告诉我哪里出了问题

else if(I_Send(my_rank,global_parent,&dest,num_procs))
{

            if(temp->parent==temp1)
            {
                    fix_node[my_rank]==temp;
            }

            Send(fix_node[my_rank],L,sz_vec[fix_node[my_rank]->node_num],fix_node[my_rank],dest,temp1);

            temp1=temp1->parent;
            if(temp1!=NULL)
            local_parent=temp1->node_num;
    }

如果正文中的代码无效

fix_node[my_rank]==temp;

我想你是想做一个作业(=)而不是比较(=

如果正文中的代码没有效果,

fix_node[my_rank]==temp;

我想你是想做一个作业(=)而不是比较(=

如果
正文中的代码没有效果,

fix_node[my_rank]==temp;

我想你是想做一个作业(=)而不是比较(=

如果
正文中的代码没有效果,

fix_node[my_rank]==temp;


我想你是想做一个作业(=)而不是比较(=

你怎么知道它没有被检查?在if语句之后放一个else,然后打印一些东西。如果它只是跳过了块,那么它很可能被计算为false。不过,我们需要更多的代码来实际说明这一点。在函数的开头,打印temp->parent的值,打印temp1的值,然后在if()语句中,打印一条消息,如“Evalued to True”,并生成一个else{printf(“evaluate to False\n”);}你怎么知道它没有被检查呢?在if语句后面加上一个else,然后打印一些东西。如果它只是跳过了这个块,那么它的计算结果可能是false。不过,我们需要更多的代码来实际说明这一点。在函数的开头,打印temp->parent的值,打印temp1的值,然后在if()语句中,打印一条消息,如“Evalued to True”,并生成一个else{printf(“evaluate to False\n”);}你怎么知道它没有被检查呢?在if语句后面加上一个else,然后打印一些东西。如果它只是跳过了这个块,那么它的计算结果可能是false。不过,我们需要更多的代码来实际说明这一点。在函数的开头,打印temp->parent的值,打印temp1的值,然后在if()语句中,打印一条消息,如“Evalued to True”,并生成一个else{printf(“evaluate to False\n”);}你怎么知道它没有被检查呢?在if语句后面加上一个else,然后打印一些东西。如果它只是跳过了这个块,那么它的计算结果可能是false。但是,我们需要更多的代码来实际说明。在函数开始时,打印temp->parent的值,打印temp1的值,然后在if()语句中,打印一条消息,如“Evalued to True”,并生成一条else{printf(“evaluate to False”);}谢谢@blastfurne,现在它正在运行tank you@blastfurne,现在它在高炉上运行,现在它在高炉上运行,现在它在运行