C If语句与顺序执行

C If语句与顺序执行,c,if-statement,C,If Statement,我有一个非常简短的问题。我有一个功能,包括: void function(int x) { x = 3; if (x == 4) printf("HI!"); x = 4; } 将单词HI可以打印吗?换句话说,C程序是否按顺序读取 非常感谢 它将不会被打印。上面这一行当然重要。它不会被打印出来。上面这一行当然重要。不,代码编译成一系列指令,这些指令一个接一个依次发生。与4的比较总是在分配x=4之前进行。因此,这将是错误的 当您处理单个线程时,这种类型的命

我有一个非常简短的问题。我有一个功能,包括:

void function(int x)
{
    x = 3;
    if (x == 4)
        printf("HI!");
    x = 4;
}
将单词
HI可以打印吗?换句话说,C程序是否按顺序读取


非常感谢

它将不会被打印。上面这一行当然重要。

它不会被打印出来。上面这一行当然重要。

不,代码编译成一系列指令,这些指令一个接一个依次发生。与
4
的比较总是在分配
x=4
之前进行。因此,这将是错误的


当您处理单个线程时,这种类型的命令是有保证的。当您有多个线程时,您可能会得到奇怪的结果和竞争条件,除非您非常小心。

否,代码会编译成一系列指令,这些指令一个接一个依次发生。与
4
的比较总是在分配
x=4
之前进行。因此,这将是错误的


当您处理单个线程时,这种类型的命令是有保证的。当您有多个线程时,您可能会得到奇怪的结果和竞争条件,除非您非常小心。

为什么不编译它并亲自查看呢?C是一种过程语言;代码块按顺序从上到下运行。@BenjaminGruenbaum-在C语言中并不总是很好的建议:为什么不自己编译并查看一下呢?C是一种过程语言;代码块按顺序从上到下运行。@BenjaminGruenbaum-在C:P中并不总是很好的建议