有关逻辑表达式问题设有定义"int x=1,y=1,c"则执行语句“c=x--ll--y;"后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 12:53:40

有关逻辑表达式问题设有定义"int x=1,y=1,c"则执行语句“c=x--ll--y;"后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教.
有关逻辑表达式问题
设有定义"int x=1,y=1,c"则执行语句“c=x--ll--y;"后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教.

有关逻辑表达式问题设有定义"int x=1,y=1,c"则执行语句“c=x--ll--y;"后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教.
这个结果与编译器有关.
x--表示先用x值参与运算再将x值减一.
--y表示先将y值减一,再用y值参与运算.
这样,c=x--ll--y就相当于c=1||0,那么c等于1.x自减后等于0,y自减后等于0.
但实际上,编译器在这里偷懒了,当编译器知道||运算符号的前一个数字是1时,就不再进行后面的运算了,因为后面的值已经无关紧要,无论后值是1是0,表达式都为1.所以,--y没有机会执行.
最终结果是,x=0,y=1,c=1

有关逻辑表达式问题设有定义int x=1,y=1,c则执行语句“c=x--ll--y;后,x,y,c的值分别是:x=0,y=1,c=1.没有理解x,y为什么0,1,我觉得是1,0;这可能归根是自加自减运算符没搞懂.请指教. 设有定义int x=1,y;表达式y=x++的值是 设有 int x=9; 则表达式 ( 1/3 * ++ x ), 设有定义int x=2;,以下表达式中,值不为6的是?A x++,2*x B 2*x,x+=2 设有变量定义:int m=0,n=0;则执行表达式(m-- 设有定义,int x=2.以下表达式中,值不为6的是 A)x++,2*x B设有定义,int x=2.以下表达式中,值不为6的是 A)x++,2*x B 这个A答案不是等于4么,A和这个有什么区别 ++x,2*x 求指教? 设有int x=11;则表达式(x++*1/3)的值是 设有定义语句“int a=10,*p=&a;”,则表达式“a+*p”的值是: 设有变量定义 int a=2;则表达式 a+=a*=a%=3的值为 设有定义:int x=2;,以下表达式中,值不为6的是() A x*=x+1 B x++,2*x C x*=(1+x) D 2*x,x+=2c程序试题 5、设有定义语句“int x=10,*p=&x”,则表达式的值为10的有( ).A、p B、*p C、*&x D、*p=x E、x=*p C语言习题(结构 )单选题1.有以下定义:struct { int x;int y;} a={ 5,7},*p=&a; 则表达式 ++p->x的值为 ( ).A.5 B.6 C.7 D.82、设有以下定义,正确的叙述是( ).typedef struct S { int g; char h; } T;A.可用S定义结构 设有定义:int k=1,m=2;float f=7;错误的表达式为k%int(f) 为什么? 关于JAVA的问题:int x=4,int y=5,int z=6,Boolean f=true.写出下列各逻辑表达式的值. 5) !(x+y 已知int x=1, y=2, z=3;,则逻辑表达式x 设有定义int a=3b=4c=5则以下表达式中,值为0的表达式是:A a&&b;B:a C语言:设有 int x=11;则表达式((x+x)*1/3)的值是几,为什额 设有语句“int x=3,y=1;”,则表达式(!x ||-- y)的值是