不解..............

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:48:53
main()
{
int x=40,y=4,z;
x+=y||(z=4);
//x=x+y或z=4 输出为什么是41?
//40=40+4不成立||z=4成立
}

int x=40,y=4,z;
x+=y||(z=4); //||优先级比 =高。。先 y || z=4
y不为0
得 x+=1
所以 x = 41

x=x+y是赋值语句,x==x+y才是判断语句;z=4同理
这是初学者常有的错误,没什么