很简单的C语言的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 12:39:34
初学C语言有诸多疑问
最近看的一个题目,不懂

设a=2,b;则执行b==a&&1;语句后,b的结果是?

答案为1

&&不是与的关系么?a和1在这算什么哦?一头雾水
请大家帮个忙 谢谢~

你可能写错了吧.应该是b=a&&1;这样的话结果才是1.
&&是且的意思,这句你可以这样理解:a=2非零,所以a为真,
而:真&&真的结果也为真,所以a&&1也为真,将它赋给b以后,b的值就为1了

晕,真是误倒新人,应该是b=a&&1.按照优先法则,这里是先判断a&&1的,因为a=2,非零,按C的算法,非零为真,1也是非零,所以a&&1为真,而按照C的规定,表达式a&&1的值为1,然后执行赋值把表达式的值1赋给b ,则b=1,

好好看看基础,0为假,非0即为真!!

a=2,然后2与1为真,真即是1,所以b=1