--j*5+(!j==!i)是什么意思?请详解!(C++)

--j应该是j=1-j;吧?条件是:i=2,j=3... --j应该是j=1-j;吧?条件是:i=2,j=3 展开
 我来答
匿名用户
2011-07-19
展开全部
首先对j减1,然后用这个值去乘5,再视后面颂饥举括号的情况看是加1还是野碧0;
当j和i都是0或者非0的时候,加的是1;若j和i分别是0和非0的数的时候,肢族加的是0;
百度网友c49a434
2011-07-19
知道答主
回答量:43
采纳率:0%
帮助的人:0
展开全部
在使用j之前对j的值减1,在和5相乘,结果在加上后面的值,如果i和j都是不为0的数则加1,反之加0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Xuxu8511
2011-07-19 · TA获得超过388个赞
知道小有建树答主
回答量:1344
采纳率:0%
帮助的人:770万
展开全部
先--,然后再执行括号里面的逻辑判断,在执行乘法喊族,最后是中间的加号;

举例:
假设 i =1,j = 1;
那迅坦么先-- j = 0;
再逻辑判断 !j == !i 应该是0
再郑昌弊乘法 0
最后是 0+0

所以最后结果是 0
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wg4478
2011-07-19 · 超过36用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:112万
展开全部
这类问题不要过于纠缠,这个问题和编译器有关,尤其是对j值的判定,最好避免写这样的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_白龙子_
2011-07-19 · 超过17用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:40.8万
展开全部
“--”优先级比“*”的高,先算--j,故前一部分的值为(j-1)*5,同时j的值变成j-1,我宽弊姿们假设j的值一直是最开始的值,则后部分就是比较j-1和卜握i的值了。
接下来算(!j==!i)的值:(!j==!i)相当于计算()里等式是否成立,成立的话就是“真”,也就是“1”;否则就是不成立,也就是“0”。那么,如果一个数x如果等于0的话,!x就代表“1”了;而如果x不为0,那么!x就是“0”了。所以后部分就是慎绝如果(j-1)与i一个等于0而另一个不等于0,那么(!j==!i)就为假,即为0;反之只要(j-1)与i不同时为0,值就为1.然后两部分相加就可以了。
要注意的是,--j后j的值就改变了,变成j-1的值了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式