c语言问题,a=(--i==j++)?--i;++j;这句话是什么意思,两个==是什么意思?

如题所述

“==”是相等的意思,和数学中的“=”一样的,但是C语言中的“=”是赋值的意思,就是把等号后面的值给前面的数,“?”是判断运算符,当“?”前面的运算成立时,执行--i,不成立时执行++j,这里说的运算成不成立,就是看“--i==j++”成立不,还有就是j++和++j的区别,j++是自己先参与运算,在自身加1,而j++是先自身加1在参与运算,同理i--也是这样的,所以i--==j++是i-1==j,
然后j在加1,所以这句话的意思就是,你先判断i-1是否等于j,如果等于,a=--i,如果不等于,a=++j。但是一定要记住,在你做判断的时候,i的值和j的值都已经变了,所以后面的i和j的值已经不是初始值了。手打,要尊重
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-14
==就是条件判断

这题目有点晕人
简单看a=(i==j)?i:j;如果i==j成立,返回i,即a=i,否则返回j,即a=j
然后就是++放左边和右边的区别了
第2个回答  2012-10-14
==关系运算中的判断是否相等

(--i==j++)判断 --i与j++是否相等,如果相等,为真,a=--i,否则a=++j
第3个回答  2012-10-14
我们把这条语句分拆开就自然明白其中的含义:

1 --i
2 --i
3 ++j
4 a=(i==j)?i:j;
5 j++;

含义就非常清楚了:
1 首先i减去2,j加上1;
2 判断i和j是否相等:
如果不相等,a=j。
如果相等a=i(既然i和j相等,等于哪个不重要)
3 最后再将j加1。本回答被提问者和网友采纳
第4个回答  2012-10-14
就是=的意思

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网