黑马程序员技术交流社区

标题: 小爽一把 [打印本页]

作者: 陈文杰    时间: 2013-11-17 15:23
标题: 小爽一把
当a=1时,表达式a的值为多少 (++a)+(++a)+(++a),假如你遇到这种笔试能快速写出答案么。
作者: 呆呆呆    时间: 2013-11-17 15:29
答案是9吗
作者: FFF    时间: 2013-11-17 15:32
(++a)+(++a)+(++a)
(1+1)+(1+2)+(1+3)=9
(a++)+(a++)+(a++)
(1+1)+(1+1)+(1+1)=6
{:soso_e120:}
作者: 不抛弃不放弃    时间: 2013-11-17 15:32
(++a)+(++a)+(++a)
  2     +    3     +  4  =9
作者: 段光宇    时间: 2013-11-17 15:39
int a=1;
a=(++a)+(++a)+(++a);

那么a=(1+1)+(2+1)+(3+1)=9
6是不可能的,a在加的过程中不断在改变自身的值。
作者: 陈文杰    时间: 2013-11-17 15:43
哈哈哈,面试官看着你回答,几秒钟你能自信么
作者: 段光宇    时间: 2013-11-17 16:16
陈文杰 发表于 2013-11-17 15:43
哈哈哈,面试官看着你回答,几秒钟你能自信么

应该不会,没达到那么淡定的地步
作者: zdrain    时间: 2013-11-17 16:21
顺序运算呗,++a=2+++a=2+3+++a=2+3+4=9呗

要多快?脑筋急转弯吗?笔试那么无聊啊
作者: 帅气的冬瓜    时间: 2013-11-17 19:41
受教了   
作者: 张天昊76    时间: 2013-11-17 21:23
式子的最终结果是9,a最终是4.在式子从左右到右的运算过程中,a的值是不断变化的。
作者: hurryup    时间: 2013-11-17 21:56
还有这笔试题,长知识了。
作者: Faner    时间: 2013-11-17 22:06
我觉得6也是不可能出现的!!!
作者: zbgl    时间: 2013-11-17 22:07
这个问题,是2+3+4吧!
作者: 张天昊76    时间: 2013-11-17 22:17
FFF 发表于 2013-11-17 15:32
(++a)+(++a)+(++a)
(1+1)+(1+2)+(1+3)=9
(a++)+(a++)+(a++)

System.out.println(++a);//结果是2,也就是a+1的值
System.out.println(a++);//结果是1,也就是a的值
//总结:a++作为一个式子,其值为a之前的值.
//同样,++a作为一个式子,其值为a+1的值
//不管是a++还是++a,结果a的值都会自增1[/code]




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2