设:int a=1,b=2;则表达式(++a==b--)?--a:++b的值为1。

设:int a=1,b=2;则表达式(++a==b--)?--a:++b的值为1。
选项:
1、 错
2、 对

假设有说明语句:int a=3,b; 则执行b=(float)a/2+0.5赋值语句后,变量a的类型已经改变为float型。
选项:
1、 错
2、 对

第1个回答  2009-12-15
1. ++X较之于X--先进行自运算,所以1对。
2. 明显错误。我调试了一下,因为这东西也不是特别注意。
b=(float)a/2+0.5;
printf("%d ,%d \n",a,b);
只有这种格式可以输出,当你有一个为%f试图以浮点输出时,甚至导致内存报错,看来这是个严重的问题,我想是这样的,a,b的地址空间是相邻的,当以浮点输出时读取四个字节,导致了越界了。结果可想而知,你的问题也就不言自明了。

调试是最好的解决办法,要学会研究。
第2个回答  2009-12-15
1错 应是0
2错
第3个回答  2009-12-15
第一题 对,第二题 错;
分析如下
第一题
++a先执行加后使用a值 a++先使用a的值再执行加;减类似分析
(++a==b--)?--a:++b执行顺序为从左到右
先执行++a 所以此时a=2,再与b比较,比较后,b自减,为1;
所以a=b=2为真返回 条件语句的前面部分,由于是--a,所以返回为1(若为a--则返回为2),所以是对的
第二题:
执行b=(float)a/2+0.5赋值语句后,a 的值不会发生任何改变,执行那个语句时,会对a进行复制的,原来的那个值不会改变本回答被提问者采纳
第4个回答  2009-12-15
1错 2错
第5个回答  2009-12-15
第一题对.第二题错

设:int a=1,b=2;则表达式(++a==b--)?--a:++b的值为1 对么?
所以(++a==b--)为真,所以结果取值 --a.即 a-1=0 所以答案为0,值为1错误。

C++的问题:int a=1,b=2;则(++a\/)*b--的值怎么算出来?我执行了一下,结果...
初始值a=1,b=2,c=3,d=4 先执行--a和--d,得到a=0,d=3 再判断c<d是否为真,因为c=3=d=3 所以表达式c<d?--a:--d的值是3 此时a的值是0 则原表达式简化为 a++<b?a:3 对于a++<b是先判断a<b的真值,然后a再增1 由于a=0<b=2,且a++之后a=1 最终的运算结果是1 希望回答...

int a=1,b=2; 那么表达式(a++)+(++b) 的值是:
a++是先使用a的值,然后再改变a的值。++b是先改变b的值加1,然后再使用b的值。结果为 1+3 =4

设变量int a=1,b=2;则执行表达式a+=3,b-2,++b,a*=b后变量a和别的...
b-2,\/\/a=4,b=2 ++b,\/\/a=4,b=3 a*=b\/\/相当于a=a*b,a=12,b=3 所以a的值为12,b的值为3

假设inta=1,b=2,则a+++--b
①结果为2 ②int a=1,b=2,c=0;c=(a==--b||--a,a+b+1.0\/2);我们先把其中所有运算符列出来,先低后高:= ,== || + \/ -- ()③按以上优先级顺序,从高优先级开始加括号:c=(((a==(--b))||(--a)),((a+b)+(1.0\/2)));== || 这两个操作符优先级相等,就按从...

若有定义int a=1,b=2;,执行语句a++>=b&&b++; 之后,变量a和b的值分别...
因为编译器在判断a++>=b 是逻辑假后就不会再计算后面的b++了 因为逻辑假与逻辑真或逻辑假相与都是逻辑假所以就不会计算了。

若有定义 int a=1,b=2; 那么表达式(a++)+(++b) 的值是?
(a++)表达式会先调用a的值,为1.然后a自加1;(++b)b先自加1,变成3,然后再被表达式调用。所以答案是:1+3=4 总结下:a++:先用再变 ++a:先变再用

C语言a=1;b=2;a++ ;b––;a+b=?
a+b=3,此时a=2,b=1

int a=1,b=2;执行c=a++||b++;语句后变量b的值是
b=2;||运算从左到右,但只要左边的值非0,那么整个表达式的值就是1,||右边就不再运行 由于 int a=1,所以 c=a++ || b++;相当于 c=(a++)||(b++);所以||左边非0,所以b++不运算,所以b就是原值2 运行结果:

int a=1,b=2; if(a==1)a=b;else a++;printf("%d,%d\\n",a,b); 其中if...
if(a==1) \\\\如果a等于1(即如果a与1相等,此处的==是逻辑等号,就像大于小于一样)a=b; \\\\那么将b的数赋值给a else a++; \\\\否则,a加1(++表示自加,即自己加1)

相似回答