一定义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的值是什么?给我详解.
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++就要执行了呀?
把上边的语句转化成 j = (!ch) && (i++); 由此可以看出括号与括号是一个逻辑表达式那么它的值要么是1要么就是0,但到底是多少需要计算括号里边的值 因为'$'它的ACSII码不为0,因此!ch=0,而i++就是先使用之后在自加1那么j = 0 && 1 由此得到答案j = 0 结束之后i = 1;
很奇怪吧,这是一个语法特性,因为对于&&逻辑运算符号来说,如果它的左边是0,那么右边就不用判断结果一定是0,所以i++就没有机会执行了
再问: 如果!ch改为"!0"是不是i++就要执行了呀?
一定义char ch="$";int i=1;j;执行j=!ch&&i++以后,i的值是什么?给我详解.
程序看不懂怎么运行的#include main() { int i,j;char ch,*p1,*p2,*s[4]={"
下面语句执行后,i 的值是( B ).for( int i=0,j=1; j < 5; j+=3 ) i=i+j; A)
设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( ) A.0和1 B.1
下列语句序列执行后,j 的值是( 15).int j=1; for( int i=5; i>0; i-=2 ) j*=i
下列语句序列执行后,i 的值是?int i=8,j=16; if( i-1 > j )
union pw {int i;char ch[2]; }a; main () {a.ch[0]=10; a.ch[1]
void fun(char *s[],int n) { char *t;int i,j for(i=0;i
下列语句序列执行后,i 的值为什么是8呢?int i=8,j=16; if( i-1 > j ) i--; else j
.下面语句执行后,i 的值是?for( int i=0,j=1; j < 5; j+=3
int i=3.j=5.m;则执行语句m=(i++)-(--j);后m,j值是多少?
void main() {char ch[20]="Example354"; for(int i=0;i='A'