<分区>
我有一个非常简短(而且几乎是菜鸟)的问题。我有一个功能,包括:
void function(int x)
{
x = 3;
if (x == 4)
printf("HI!");
x = 4;
}
HI!
会被打印出来吗?换句话说,C 程序是否顺序读取?
非常感谢!
标签 c if-statement
<分区>
我有一个非常简短(而且几乎是菜鸟)的问题。我有一个功能,包括:
void function(int x)
{
x = 3;
if (x == 4)
printf("HI!");
x = 4;
}
HI!
会被打印出来吗?换句话说,C 程序是否顺序读取?
非常感谢!
最佳答案
不,代码编译成一系列指令,这些指令一个接一个地发生。与 4
的比较总是在赋值 x = 4
之前。所以它会是假的。
当您处理单个线程时,可以保证这种顺序。当你有多个线程时,除非你小心,否则你可能会得到奇怪的结果和竞争条件。
关于c - If语句和顺序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17287288/