C

时间:2019-06-15 12:08:50

标签: c

下图是C编程语言中的操作顺序。

enter image description here

对于类似这样的表达式:

    int a = 3;
    int z = a - a-- ;
    printf("%d", z);

我认为a--首先执行,所以现在a变成了2并且a--本身是3的旧值。 所以我认为会发生z = 2 - 3 = -1 对我来说这很合逻辑。

但对于这样的事情:

    int a = 3;
    int z = 9 + a - a-- ;
    printf("%d", z);

结果是9,但对我来说似乎不合逻辑。 如果我要对该表达式求值,我会说a--将首先求值,以便a变为2,并且a--本身为3,现在9 + 2 - 3为{{ 1}}。我想念的是什么?

0 个答案:

没有答案