-3
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int i = 0;
    i = 10; printf("++i, ++i :--> The value is: %d, %d\n", ++i, ++i);
    i = 10; printf("++i, i++ :--> The value is: %d, %d\n", ++i, i++);
    i = 10; printf("++i, --i :--> The value is: %d, %d\n", ++i, --i);
    i = 10; printf("++i, i-- :--> The value is: %d, %d\n", ++i, i--);
    i = 10; printf("++i, i   :--> The value is: %d, %d\n", ++i, i);
    i = 10; printf("i++, ++i :--> The value is: %d, %d\n", i++, ++i);
    i = 10; printf("i++, i++ :--> The value is: %d, %d\n", i++, i++);
    i = 10; printf("i++, --i :--> The value is: %d, %d\n", i++, --i);
    i = 10; printf("i++, i-- :--> The value is: %d, %d\n", i++, i--);
    i = 10; printf("i++, i   :--> The value is: %d, %d\n", i++, i);

    return 0;
}

输出:

++i, ++i :--> The value is: 12, 12
++i, i++ :--> The value is: 12, 10
++i, --i :--> The value is: 10, 10
++i, i-- :--> The value is: 10, 10
++i, i   :--> The value is: 11, 11
i++, ++i :--> The value is: 11, 12
i++, i++ :--> The value is: 11, 10
i++, --i :--> The value is: 9, 10
i++, i-- :--> The value is: 9, 10
i++, i   :--> The value is: 10, 11

请让我知道编译器是如何执行的。

4

1 回答 1

-2

在我++

  • 在 i 值上执行算术运算或任何其他代码之类的操作
  • 之后它增加 1 或将 1 值添加到 i。

我=10;printf("i: %d" , i++)

答案是:10。

在上面的编译器首先打印答案,然后添加 1 个值......

在 ++i

  • 首先将 1 值添加到 i
  • 在对 i 执行另一个操作之后。
于 2013-05-01T11:18:21.327 回答