为什么这个代码在第一个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/