张尽欢 2019-08-04 14:51 采纳率: 100%
浏览 301
已采纳

i = 2,问(i++) + (i++)表达式 C中等于4,java中等于5 这是为什么?

如题:按我的理解是等于5的,请教下为何c语言中答案是4

java:

                int i =2;
        int temp;

        temp = (i++) + (i++);
        System.out.println(temp);

c语言

    int i =2;
    int temp;

    temp = (i++) + (i++);
    printf("%d",temp);

  • 写回答

3条回答 默认 最新

  • threenewbee 2019-08-04 16:33
    关注

    如果你多试几个编译器就知道,这个结果除了4 5还可以是别的。因为这个叫做未定义行为。
    http://www.it610.com/article/1508275.htm
    讨论这种问题是愚蠢的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?