帮忙看看这个expression该怎么分解

sparks_lu 2006-02-26 02:14:38
int a=2;
int b=3;
int c=4;
int x = ++a+b+++c++ //这个statement该如何分解?

运行的结果x等于10,然后我自己是这分解一下,不外乎是在b后面的三个加号处做文章,我试了两种分解方法.

分解一为:
(++a)+(b++)+c++,这种方法的运行结果为10,分解的应该没问题

分解二为:
(++a)+b+(++c)++,这种方法根本无法编译,编译错误提示如下:

test.java:23: 意外的类型
需要: 变量
找到: 值
int x = (++a)+b+(++c)++;
^
test.java:23: 运算符 + 不能应用于 int,<any>
int x = (++a)+b+(++c)++;
^
test.java:23: 不兼容的类型
找到: <nulltype>
需要: int
int x = (++a)+b+(++c)++;

我有两个问题,希望高手们问我这个菜鸟讲解一下:
1.我不明白第二种方法为什么无法通过编译,在语法上哪里出现了错误?
2.为什么要像分解一那样分解b后面的三个加号?还有没有其他正确的分解方法?
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparks_lu 2006-02-26
  • 打赏
  • 举报
回复
那为什么(++c)++是给常量++?
universe01 2006-02-26
  • 打赏
  • 举报
回复
(++c)++相当于
给常量++
xiaose7613 2006-02-26
  • 打赏
  • 举报
回复
谁出这种题目的?怕怕,最恶心的这种题目,没有任何实用价值,我看没有哪个人会真正开发的时候写这种东西吧.
lydvqq 2006-02-26
  • 打赏
  • 举报
回复
++a++或是(++a)++都是不行的.
因为++的优先些.
sparks_lu 2006-02-26
  • 打赏
  • 举报
回复
老大,别晕啊,这个不算很长吧,帮忙看看
realdreamer 2006-02-26
  • 打赏
  • 举报
回复
我倒, 看到那种表达式我就晕

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧