#include"stdio.h"
问题描述:
#include"stdio.h"
void main()
{
int a=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2||c--!=3)
printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c);
}
程序运行后的输出结果是()
A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,1
课本上说算术运算符的优先级>关系运算符,++是算术运算符,==是关系运算符.那么if(a==1&&b++==2)中的b++==2应该是先执行b++,再判断是否==2.但是答案说先判断b++==2,它成立,之后b=b+1...
答
你说的运算符的优先级关系是正确的但是你对++运算符的理解是错误的b++是先使用b的值,使用完成后再让b的值加1按照优先级顺序if(a==1&&b++==2)等同于if(a==1&&(b++)==2)按照++运算符的定义,(b++)==2等价于if(b==2...