C中循环的执行顺序

Saa*_*aad 4 c c++

这可能是一个非常noob的问题,但我的结果是:

int someVariable = 1;

while (callFunction(someVariable));

    if (someVariable = 1) {
        printf("a1");
    } else {
        printf("a2");
    }

callFunction (int i) {
    while (i< 100000000) {
        i++;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以当你点击while循环时

while (callFunction(someVariable));
Run Code Online (Sandbox Code Playgroud)

一个线程在该循环中等待,直到它完成然后再到

if(someVariable == 1) {
    printf("a1");
} else {
    printf("a2");
}
Run Code Online (Sandbox Code Playgroud)

或者它是否跳过并移动到if条件,打印"a2"然后在循环完成后再次通过if条件?

更新:这不是精神疾病是有效的C代码只是伪,也许我没有一句话是正确的,基本上我试图找出是什么环路之间的不同就像while (callFunction(someVariable));是VS

while (callFunction(someVariable)){}
Run Code Online (Sandbox Code Playgroud)

我也改变了我的代码中的粗体部分,即**int someVariable = 1;**,我正在做一个无休止的循环,这不是我的意图.

vbe*_*nce 6

函数内部的代码由单个线程顺序执行.即使你向你的函数发送了另一个线程,它也会连续执行它.

现在99%的编程语言都是如此.