求助 C语言 关于逻辑值的问题
请对比看以下的两道题:1. 设有条件的表达式:(EXP)?i++;j++,则以下表达式中与(EXP)完全等价的是:
A.(EXP!=0) B.(EXP==1) 答案是A。
2.设有定义:int k=1;假如有k=k>=k, 则k=___ 答案是1.
问题1.书上说逻辑表达式若为真,值为1,假值为0,那在第1题中A和B应该是等价的呀,为什么答案B不对?
2.有的书上说像这样的语句 (3)?a:b; 最后结果肯定是a,那我想问判断数字3的真假怎么判断呢? 不是真的值为1,假的值为0 么? 那在条件判断中写 除了1,0其他的数字肯定是不对的啊???? 要这个成立,那不就是 为真的条件可以用各种非0的数表示,那书上怎么说逻辑真的值用1表示呢???
3.在第1题中 EXP为真 和 EXP的值为1 和 EXP==1, 这三者到底是什么关系?这三者有什么区别???
请逐条回答,我到底是哪里掌握不好,理解错了呢?请说清楚一点 谢谢