| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3027 人关注过本帖
标题:一道面试题
只看楼主 加入收藏
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
收藏
 问题点数:0 回复次数:52 
一道面试题

4.  

int func(int a)
{
  int b;
  switch(a)
  {
    case 1: 30;
    case 2: 20;
    case 3: 16;
    default: 0
}
return b;
}
则func(1)=?

想问问这里的 b是做什么用的啊?直接返回b 是没有值的啊。。请高人解答。

搜索更多相关主题的帖子: int case 面试 func switch 
2007-09-03 14:55
chen7806
Rank: 1
等 级:新手上路
威 望:2
帖 子:160
专家分:0
注 册:2007-8-5
收藏
得分:0 
关注!!!
2007-09-03 16:02
努力学编程
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-8-25
收藏
得分:0 
switch(a)
  {
    case 1: 30;
    case 2: 20;
    case 3: 16;
    default: 0
}
里面的数字难道和b有联系?
2007-09-03 16:02
xiaopi_zj
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-9-1
收藏
得分:0 
what? 看不懂
2007-09-03 16:23
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

我运行了一下,fun(1)的函数是随机的.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-09-03 16:28
努力学编程
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-8-25
收藏
得分:0 
那怎么会成为面试题啊?
2007-09-03 16:36
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 

看不出这题目有多大意思

b在整个函数生命期始终没有初始化,也没有赋过值,所以返回出去的b是一个不可预料的值。


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2007-09-03 16:42
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
得分:0 

收回上面的话,这题目的确有意思,仔细想了想运行结果为0

由于switch()没有break语句一路运行到底。

比如func(1)时
运行30; 20; 16; 0;
仔细看看,这些语句并非无意义。

化成汇编语言来看。
30; => mov ax, 30d
20; => mov ax, 20d
16; => mov ax, 16d
0; => mov ax, 0d
最后ax中的结果是0
执行return b其实就是对应汇编语句如下:
mov (WORD PTR)b, ax
ret

注:BC3.1运行结果为0,并非不可预料的值。

[此贴子已经被作者于2007-9-3 16:50:38编辑过]


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2007-09-03 16:49
weishanhu03
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-4-24
收藏
得分:0 
这是面试题?!
搞不明白,我感觉是随机的数

2007-09-03 16:50
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
以下是引用neverTheSame在2007-9-3 16:28:34的发言:

我运行了一下,fun(1)的函数是随机的.

yuki,怎么解释这个现象了

[此贴子已经被作者于2007-9-3 16:52:38编辑过]


编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-09-03 16:52
快速回复:一道面试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016965 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved