您现在的位置是:首页 >

x取任意值怎么表示 设x的值为5,则表示式(++x)+(++x)+(++x)的值是 24 为什么?

火烧 2022-09-13 12:50:40 1054
设x的值为5,则表示式 ++x + ++x + ++x 的值是 24 为什么? 设x的值为5,则表示式 ++x + ++x + ++x 的值是 24 为什么?根编译器有关。VC++6.0的编译器对x=

设x的值为5,则表示式(++x)+(++x)+(++x)的值是 24 为什么?  

设x的值为5,则表示式(++x)+(++x)+(++x)的值是 24 为什么?

根编译器有关。
VC++6.0的编译器对x=(++x)+(++x)+(++x)的演算法如下:
设x=5;
则(++x)+(++x)+(++x)=((++x)+(++x))+(++x)
即先算前两个++再算+,((++x)+(++x))+(++x)就等于(7+7)+8,结果为22。
你用的编译器是先算括号里的++然后再把值加到一起。
即(++x)+(++x)+(++x)结果为8+8+8等于24。
就像pluto729这位朋友说的那样,没有什么意义的东西。倒是可以用来难倒别人。

347、设x的值为4,则表示式(++x)+(++x)+(++x)的值是( ) 21 为什么?

表示式需要首先计算完毕:++x
三次计算完毕,那么x=7
然后再执行:7 + 7 + 7

设x的值是5,则表示式(++x)+(++x)+(++x)的值是

先自加三次为 8,再求和24

设x的值为4,则表示式(++x)+(++x)+(++x)的值是( ) A:12; B:18; C:16; D:21

不是,计算机先坐整个的++过程,在使用X所以是三个7

设x的值为2,表示式x%=x+=x=*x=x+2的值是?求详解

表示式x%=x+=x=*x=x+2是从右算起的,先看x=x+2,得x=2+2=4,x=*x得x=x*x=16,x+=x得x=x+x=32,x%=x得x=x%x=32%32=0

若x的值为5,则表示式x+=x%(-3)-4

y>x++? x- - : y++
如果用printf输出上式的结果printf("result = %d", y>x++? x- - : y++)
相当于
if (y>x)
{
x++;
printf("result = %d", x);
x--;
}
else
{
printf("result = %d", y);
y++;
}

x取任意值怎么表示 设x的值为5,则表示式(++x)+(++x)+(++x)的值是 24 为什么?

已知X的值为5,表示式 X mod 3>3 mod X 的值是

5 mod 3 > 3mod5
2>3
false

设x的值为4,则表示式(++x)+(++x)+(++x)的值是( ) A:12; B:18; C:16; D:21 、 答案:D、3

12 +6+1

C语言中,设x的值为4,则表示式(++x)+(++x)+(++x)的值是多少?

不一定,不同的编译器结果会不同
g++编译结果: 19
b32编译结果:21
VC6编译结果: 21
int X = 4;
X = (++X*4)+(++X*3);
cout < < x;
的结果:
g++编译结果: 38
b32编译结果:42
VC6编译结果: 42

你的答案是21 是这样的:(++x)+(++x)+(++x)中,编译器是这样运算的,程式在计算式需要完成一句语句,也就是;结束的语句才算结束,刚开始为4,所以自加3次得到7,最后在运算结果,实现三个7+7+7=21 刚好我们老师有讲过!还望你能理解!其实 ,编译器还是有区别的!就好像int 在vc 6.0中是占4个位元组,而在turbo c2.0中占2个位元组!明白了吧!

设char型变数x中的值为10100111,则表示式(2+x)^(~3)的值是()。

答案是D
因为x=10100111,x+2,首先将2转为二进位制,所以
10100111+0010=10101001再执行(异或)运算,又因为取反3,3=11111100所以最后结果为01010101

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码