C编程中的算术顺序

use*_*701 -3 c algorithm math variables

今天我正在尝试使用C解决一个简单的二维数学函数.但是我得到的结果有点好笑.代码在这里:

int main()
{
    int x, y;

    x = 10 - y;
    y = x - 2;
    printf("the x and y would be %d, %d ", x, y);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,答案很容易计算出来x=6,y=4但上面列出的程序给了我x=8y=6.似乎程序以某种方式获得了y第一个值6,然后忽略了第一个等式并直接6输入第二个等式然后获得x值.有点好笑,看到这个tho.希望有人能向我解释原因!

gna*_*729 5

原因是对命令式编程语言的基本误解.C语言不是方程求解器.'='表示赋值,而不是等式.