clwn.net
当前位置:首页 >> mAin() { int i=1,j=2,k=3; iF(i++==1&&(++j=... >>

mAin() { int i=1,j=2,k=3; iF(i++==1&&(++j=...

main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 首先 i++==1&&(++j==3||k++==3) 是一个逻辑表达式 i++==1&&(++j==3||k++==3) 分为两部分 i++==1 和 (++j==3||k++==3) 他们的关系是 并且的关系 所以 两部

这是因为 || 是短路或. 因为根据 ++j==3 便可判断出 (++j==3||k++==3) 为真,前面一个为真便不需要再计算下一个了,因此 k++ 没有执行

如果左边结果为1,相当于j = j+1,后置的++当前语句不生效,右边的就不计算了,真个表达式就为1了;++j==3 前置的++当前句生效,相当于i == 1, 两个表达式必须同时成立结果才是1, 最终整个表达式的结果还是0表达式1 || 表达式2同理只要有一个为1; i++,即使算了为1,右边也不算了;j ==3k++==3相关知识点编译器会对表达式判断进行优化表达式1&&表达式2,所以左边的表达式1不成立i++==1&&(++j==3||k++==3i++==1 这种表达式

答案:2 3 3#include <stdio.h>void main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);}if语句里面的判断为两大部分:1、i++ == 1;2、++j == 3 || k++ == 3;i的初始值为1,i++是先判断i==1,然后再i=i+1,所以这部分结

if(i++==1&&(++j==3||k++==3)) 先看 i ++== 1, 因为是++在后面,所以语句执行完才i才会变成2, 所以i++ == 1, true,. 后面++j==3||k++==3, ++j, ++ 在前面,所以执行的时候j就等于3了,而k++ ==3 是|| , 只要++j == 3 成立,他就立即返回了ture了, 所以k++ == 3不会执行,所以k 欲绝结束后也是3, 所以printf 的结果是 2, 3, 3

main() {int i=1;j=2;k=3; //////////////////////////////////////初始化if(i++==1&&(++j==3||k++==3)) /////////////i++==1,先判断i==1为true,然后i的值加1,此时i=2;下面判断语句(++j==3||k++==3),语句++j==3是先把j的值加1,j=3,然后在判断j==3为true;又因为

if(i++==1(++j==3||k++==3))在这一句里,先判断里面那个括号里的内容由于使用的是||,所以当++j==3判断为判断为真的时候,k++==3就不判断了,因为||是或的意思,有一个是真的,整个表达式也为真的.这时候再去判断i++==1,此时为真,那么两个条件同时为真的,然后去执行那条printf语句.由于if(i++==1(++j==3||k++==3))里,执行了i++(i加一),++j(j加一),k++没有执行,没有变化,所以,最终结果是2 3 3 不知道你明白了没有 不会可以HI我

i++==后面少了一个1吧答案应该是2 3 3.因为丨丨前面那个如果为真后面就不运行了,所以i要+1,j要+1.答案就是2 3 3

输出为233i++是在表达式运算之后进行,所以i++=1为true++j是在表达式运算之前进行.所在++j==3为true又因为||运算当第一个值为true时不进行后面的运算所以K++==3没有被执行所以最后的结果为233

#include <iostream> int main() { int i = 1,j = 2,k = 3; if(i++ == 1 && //先判断 i == 1 再运算 i = i + 1 (++j==3 || //先运算 j = j + 1 再判断 j == 3 k++==3)) //先判断 k == 3 再运算 k = k + 1 printf("%d %d %d\n", i, j, k); return 0; } //运算符优先级问题,请注意代码中的解释,可以查下相关资料 //你给出的代码里的符号为中文的符号如;() //中文符号编译是不会通过的,应该使用英文符号,如 ; () //最后答案输出 2 3 3

相关文档
wlbk.net | zxqt.net | nmmz.net | wwgt.net | nnpc.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com