为什么这个代码在第一个If语句中失败?
我的预测在关联性和优先性方面出错了。

 #include<stdio.h>

    void main()
    {
            int i=10;
            if(i==i--)
            {
                printf("In 1:%d\n",i);
                printf("TRUE 1\n");
            }
            i=10;
            if(i==--i)
            {
                printf("In 2:%d\n",i);
                printf("TRUE 2\n");
            }
    }

最佳答案

i==i--是未定义的行为。请检查这个:http://c-faq.com/expr/ieqiplusplus.html和这个:http://c-faq.com/expr/seqpoints.html

关于c - 为什么此代码打印第二条语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39785631/

10-11 23:13
查看更多