if ((*l).proc == NULL)
{
(*l).proc = current_process;
if(current_process == NULL)
{
__no_operation();
}
if((*l).proc == NULL)
{
__no_operation();
}
}
运行此代码时,我在两个无操作处添加了断点。然而,它只在两次中的第二次中断。这怎么可能?
最佳答案
任何理智的编译器都会将这两个相同的 block 优化为单个 block 。它可能还会将两个条件优化为一个。如果您想看到两者单独运行,请将 puts("A");
添加到第一个,并将 puts("B");
添加到第二个。
关于c - 我正确使用这些指针吗?我正在分配一些东西,但之后它立即为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5555964/