永发信息网

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

答案:5  悬赏:30  手机版
解决时间 2021-01-09 21:25
--j*5+(!j==!i)是什么意思?请详解!(C++)
最佳答案
“--”优先级比“*”的高,先算--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的值了!
全部回答
首先对j减1,然后用这个值去乘5,再视后面括号的情况看是加1还是0;
当j和i都是0或者非0的时候,加的是1;若j和i分别是0和非0的数的时候,加的是0;
在使用j之前对j的值减1,在和5相乘,结果在加上后面的值,如果i和j都是不为0的数则加1,反之加0
这类问题不要过于纠缠,这个问题和编译器有关,尤其是对j值的判定,最好避免写这样的代码
先--,然后再执行括号里面的逻辑判断,在执行乘法,最后是中间的加号;
举例:
假设 i =1,j = 1;
那么先-- j = 0;
再逻辑判断 !j == !i 应该是0
再乘法 0
最后是 0+0
所以最后结果是 0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
无聊的开箱减压神器买的到吗
《使命召唤5 世界战争》面对的日军
32÷(-2/3)×(-2)
分手后男生又主动联系你是什么意思?
清明菜炒鸡蛋的家常做法大全怎么做好吃视频
excel表格中单价乘以数量结果却不对,少了一
旅顺今天海洋是什么潮
长1.2m宽0.4m怎么算角度
如果一个女生和男生交往的时候,没确定关系之
下列说法错误的是A.pH试纸在使用前应先用蒸馏
什么是低真空
东西16米南北8米二层自建房设计图
华人教会的新年礼物:2015年先知性诗歌释放祝
“春眠不觉晓,处处闻啼鸟”用英文怎么翻译?
HIS是什么公司?
推荐资讯
6点899保留能不能保留3位小数
如图所示,这是怎么知道当a≥0是是增函数的
社保基金413组合啥意思?
合同约定违约承担律师费2万起诉后没有发票法
求改作文,批改网上的,给出需修改的句子和改
三天中发生了什么有意义的事情55字日记
YAMAHA功放RX-V37系列和V38系列有什么
我买的高铁票从郑州到上海的。是D308高铁。我
全站仪测量时输入镜高与实际镜高不符合,测量
吴江中达电子真的很烂吗?哪位高人指点一下,
何来讨厌,何来喜欢是什么意思
教师在哪些情况下会失去教师资格
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?