
int do_timeout = timeout != 0;
a的值是0或饥销者1。
因为,如果b不等于0,则b!=0成立,为真,值为1;否则b等于0,则b!=0不成立,为假,值为0。
所以这皮戚个赋值运算时先判断b!=0是否成立,然后把0或者1赋值给a。这里要弄懂=和!=运算优先级(烂握游=的运算优先级低于!=,所以先计算右边的,在做赋值运算)
从右边开始
b!=0是一个判断表达式 如果b是0返枯前回0(也就是false 表悔败升达式不成立),如果b不是0,返回1(也就是true 表达式成立)
然后返回的值碧老(0或者1)再赋值给a;
而int a是对a的定义
综合起来就是定义变量a,a的值是表达式b!=0的结果(0或者1)
这句话就早埋颂相液歼当于int a=(b!=0);
也就是判断b!=0的陆郑正误,如果正确,a就为1;
否则a就为0;
申请 整形变量 a,胡启 计雹拦算源做胡逻辑表达式 (b!=0) 的值 赋值给 a
b != 0 时 a 赋值 1
b == 0 时 a 赋值 0