作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 01:00:13
一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.
一定义char ch=
j=!ch&&i++
把上边的语句转化成 j = (!ch) && (i++); 由此可以看出括号与括号是一个逻辑表达式那么它的值要么是1要么就是0,但到底是多少需要计算括号里边的值 因为'$'它的ACSII码不为0,因此!ch=0,而i++就是先使用之后在自加1那么j = 0 && 1 由此得到答案j = 0 结束之后i = 1;
很奇怪吧,这是一个语法特性,因为对于&&逻辑运算符号来说,如果它的左边是0,那么右边就不用判断结果一定是0,所以i++就没有机会执行了
再问: 如果!ch改为"!0"是不是i++就要执行了呀?