设 int x= -1;执行表达式++x||++x||++x;后x的值为何是1吗?
来源:百度知道 编辑:UC知道 时间:2024/05/16 07:44:41
设x,y,z均为int型变量执行语句:x=y=3;t=++x||++y;后y的值为何是3
当c的值不为0时,能正确将c的制赋给a,b的是c
b.(a=c)||(b=c);
c.(a=c)&&(b=c);b为何不对?
定义 int a=0,b=5;执行(a<b)||(a=10)&&(b=15);a,b的值为何是0和5
当c的值不为0时,能正确将c的制赋给a,b的是c
b.(a=c)||(b=c);
c.(a=c)&&(b=c);b为何不对?
定义 int a=0,b=5;执行(a<b)||(a=10)&&(b=15);a,b的值为何是0和5
1.t=++x||++y这是一个或运算,当||前面的表达式为真时(这里是++x的值不为0时),就不会执行||后面的表达式了,所以y的值还是3。
当||前面的表达式不为真时,会执行||后面的表达式
||或运算只要判断一个为真、,整个表达式就为真。
2.(a=c)||(b=c),因为C的值不为0,所以||前面的表达式(a=c)为真,就不会再执行||后面的表达式(b=c),所以这个只能将c的值赋给a,而没有将c的值赋给b
3.(a=c)&&(b=c),这是个与运算,当&&前面的表达式为真时,继续执行&&后面的表达式,如果后面的表达式为真,则这整个表达式的值就为1;如果后面的表达式不为真时,则整个表达式的值就为0;
当&&前面的表达式不为真时,就不执行&&后面的表达式了。
&&与运算必须两个表达式全部为真时,整个表达式才为真。
4.a<b为真,所以后面的不执行了
x=y=3 这时x=3 y=3
t=++x||++y
++x=4 为真(非0即1)
在||中 只要前面一句为真,则后面不用执行
也就是说++y没有执行,所以还是3
|| 这个或在C里面实现如下:只要有一个满足就不看其他的表达式,直接出结果。
第一个问题里,因为++x非0,所以表达式为真,所以不用再看||后面的表达式就可以得出t=1,
第二个问题:同理可知b=c是不会做的,因为a=c已经为真,
第三个:同理a<b为真,所以后面的不用看了
设 int x= -1;执行表达式++x||++x||++x;后x的值为何是1吗?
设 int x=9,y=8; 表达式 x==y+1 的结果是
设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1,结果为多少
设 int x=1, y=1; 表达式(!x||y--)的值是( )。谁能帮我讲讲?
已知 int a=1,y=3;执行y=9-(--y)-(--y)后,为什么x=7?
设x 和y 均为int 型变量,且x=1,y=2,则表达式1.0+x/y的值为_______。
int x,y,i=10;x=i++;y=i;执行后x,y的值是多少?
C++中执行代码int x,y(5); x=~y; 后,X的值为什么是-6?
int x=2, y , z; 执行z=y=x--; 变量z的值是多少?
18、语句int x=100,y=200;printf(“%d”,(x+y));执行后的输出为( )