免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2017 | 回复: 8
打印 上一主题 下一主题

int ia,ib,ic;(ia=5,ib=4,ic=3,ic)=(ia=16,ib=17,ic=18,ic); [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-28 08:59 |只看该作者 |倒序浏览
还是不太懂
(ia=5,ib=4,ic=3,ic)=(ia=16,ib=17,ic=18,ic);
开始算右边

第一步算 ia = 16
ib =17
ic = 18

逗号返回 ic

左边 ia = 5
ib =4
ic =3

然后 ic  = ic

所以 ia = 5 ib =4 ic =3  是这样吗?

论坛徽章:
0
2 [报告]
发表于 2006-03-28 09:06 |只看该作者
这种问题实在没有什么好讨论的,如果一个正规的软件公司里面有人这么写代码的话,那估计离被抄掉的日子也不远了.

论坛徽章:
0
3 [报告]
发表于 2006-03-28 09:49 |只看该作者
可惜 面试的题目 全是这种。 你面试都通不过怎么办

论坛徽章:
0
4 [报告]
发表于 2006-03-28 10:55 |只看该作者
原帖由 benjiam 于 2006-3-28 09:49 发表
可惜 面试的题目 全是这种。 你面试都通不过怎么办


我自己还没有遇到这种问题,上面说这个是华为的试题我表示怀疑,我们公司有好多牛人都是华为过来的,他们写代码都相当的规范.
当然,假使哪一天不幸我遇到这样的问题,我想这样的公司不去也罢了

论坛徽章:
0
5 [报告]
发表于 2006-03-28 11:02 |只看该作者
我们公司有好多牛人都是华为过来的,他们写代码都相当的规范.

这个和面试 没有关系的。他们会写规范的代码 也能做这样的复杂的题目。

论坛徽章:
0
6 [报告]
发表于 2006-03-28 11:05 |只看该作者
原帖由 benjiam 于 2006-3-28 11:02 发表
我们公司有好多牛人都是华为过来的,他们写代码都相当的规范.

这个和面试 没有关系的。他们会写规范的代码 也能做这样的复杂的题目。


无语ing...

论坛徽章:
0
7 [报告]
发表于 2006-03-28 14:31 |只看该作者
我不知道怎么做,期待正解!

论坛徽章:
0
8 [报告]
发表于 2006-03-28 14:38 |只看该作者
不需要开新帖吧。

论坛徽章:
0
9 [报告]
发表于 2006-04-01 00:56 |只看该作者
>> (ia=5,ib=4,ic=3,ic)=(ia=16,ib=17,ic=18,ic);

要注意的是:上面的语句不被标准 C 所支持,因为在 C 中  (ia=5,ib=4,ic=3,ic) 表达式的结果是一个右值,不能再对右值进行赋值操作(有些C编译器的扩展功能支持上述形式,比如 GCC。然而在近期版本的GCC中这个特性已经被表明为deprecated。)。上面的语句是标准 C++,因为在 C++ 中 (ia=5,ib=4,ic=3,ic) 的结果是一个左值 。

至于其结果则是不确定的,因为C/C++标准对于 = 两边的操作数计算的先后顺序是没有规定的,所以其结果是没有定义的。

评分

参与人数 1可用积分 +1 收起 理由
lenovo + 1 我很赞同

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP