一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 07:33:37
一定义char ch=
xn@_ō"'Qk0UU} f0I`.ŠN0&Me ocOݜ3L>YBT)ݝqI1Leաp%U!jj~`?<oxt̶\1|xpzr>lBVQ&;7k h\1]EU}8*Ȧ}pu>MyHv5DH1, g)QgbqF`AZ 0^b.k`9|v-W+ )(GpowO~Q^^Ӛ I+Ѡ΁=1z3AO'ؙ5sxZ

一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.
一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.

一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.
j=!ch&&i++
把上边的语句转化成 j = (!ch) && (i++); 由此可以看出括号与括号是一个逻辑表达式那么它的值要么是1要么就是0,但到底是多少需要计算括号里边的值 因为'$'它的ACSII码不为0,因此!ch=0,而i++就是先使用之后在自加1那么j = 0 && 1 由此得到答案j = 0 结束之后i = 1;
很奇怪吧,这是一个语法特性,因为对于&&逻辑运算符号来说,如果它的左边是0,那么右边就不用判断结果一定是0,所以i++就没有机会执行了