网易笔试题

abcdef0966 2009-10-05 07:57:14
写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
a = ?

只知道C是错误的

但是对第二个问,高手 们说说,有标准答案和研究的必要吗
...全文
919 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
erduoyin 2009-10-07
  • 打赏
  • 举报
回复
"+="之后是从左到右计算还是从右到左计算有很大关系吧
eclipse88 2009-10-07
  • 打赏
  • 举报
回复
我不会啊
herman~~ 2009-10-07
  • 打赏
  • 举报
回复
确实不好玩
xxooxo 2009-10-07
  • 打赏
  • 举报
回复
路过
mstlq 2009-10-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 abcdef0966 的回复:]
C++ primer里有讲到,前置操作返回左值,后置操作返回右值
[/Quote]

c跟c++是不同的哦……
delphiwcdj 2009-10-06
  • 打赏
  • 举报
回复
又发一贴啊
a452325305 2009-10-06
  • 打赏
  • 举报
回复
同意楼上的 A.9 B.10 D.11
C错误为:error C2106: “+=”: 左操作数必须为左值
环境为VS2008
mstlq 2009-10-06
  • 打赏
  • 举报
回复
回楼主……
其他类似题目的分析可以不考虑了,像那种月经帖就别理会了……

不过我觉得这里的ABCD答案还是值得记住,值得分析的……

这里选项与月经贴的差别在于
1. ++(区分前置与后置)操作在一条表达式中只出现一次
2. 这里是"+="而不是"="运算
3. "+="右边不出现两个以上的a

编译器可以按自己的喜好来决定运算顺序,这是未定义的,但是无论按何种顺序,最终结果却是一样的,殊途同归……

iofomo 2009-10-06
  • 打赏
  • 举报
回复
别分析了,这个在实际开发中没有一点用,只是在面试的时候考考你的基本功。对不对放到编译器上运行一下不就是了。
mzlogin 2009-10-06
  • 打赏
  • 举报
回复
ABD对,C错
在Dev-C++ 4.9.9.2和VC6.0下均是如此
C报错为a++不为左值
A.9
B.10
D.11
papaofdoudou 2009-10-06
  • 打赏
  • 举报
回复
mark
leewon1988 2009-10-06
  • 打赏
  • 举报
回复
没人鸟我
v2002750 2009-10-06
  • 打赏
  • 举报
回复
没劲,编译器相关的东西也拿出来做笔试题, 巧的是,我刚看了另一某大公司的笔试题,竟然有一题跟这个一样,无语。
xylicon 2009-10-06
  • 打赏
  • 举报
回复
这样的问题应该决于编译器。
hsf1002 2009-10-06
  • 打赏
  • 举报
回复
不是吧,网易会出这么弱智的题目。。。。
昵称很不好取 2009-10-06
  • 打赏
  • 举报
回复
昨天做错了,今天再做一次。
C 不对
A a = 9
B a = 10
D a = 11
leewon1988 2009-10-06
  • 打赏
  • 举报
回复
怎么Bjarne的c++程序设计上说像
int i=1;
v[i]=i++;
这样的行为是没有定义的,本身这代码就是错的,只是编译器没有约束而已
leewon1988 2009-10-06
  • 打赏
  • 举报
回复
。。

int i=1;
v[i]=i++

的结果是什么?
v[1]==1?
还是v[2]==1?
GoonYangXiaofang 2009-10-06
  • 打赏
  • 举报
回复
后置操作符返回一个临时的常量所以不能做左值。
menghai1226 2009-10-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mstlq 的回复:]
引用 6 楼 abcdef0966 的回复:
C++ primer里有讲到,前置操作返回左值,后置操作返回右值


c跟c++是不同的哦……
[/Quote]

怎么不同?能详细点么?
加载更多回复(8)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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