今天遇到了一题,真是坑爹中的航空母舰...

独自听枫 2011-09-15 10:53:20
废话少说上题先。

int a=4;
int f(int n)
{
int t=0; static int a=5;
if(n%2)
{
int a=6;
t+=a++;
}
else
{
int a=7;
t+=a++;
}
return t+a++;
}
void main()
{
int s=a,i=0;
for(;i<2;i++)
{
s+=f(i);
}
printf("%d\n",s);
}

问输出结果,第一次粗略看了下,得出结果32,一看答案不对,再看了一遍代码后,尼玛,重点骂一下。

正确答案28 尼玛 真是坑爹中的航空母舰,难道想不出题目了,就这么考吗,真受不了...
...全文
3140 73 打赏 收藏 转发到动态 举报
写回复
用AI写文章
73 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgmeco 2011-09-20
  • 打赏
  • 举报
回复
呵呵,这个题是有点拼爹。

很容易让人误入。
Maxwell 2011-09-20
  • 打赏
  • 举报
回复
挺基础但是挺简单的题啊,没觉得哪儿坑了。读程序的基本功了,以后到了实际项目中,比这难读多了。
stef3390 2011-09-19
  • 打赏
  • 举报
回复
坑爹啊,没见到子函数里的a是static,算出个27.。。。。。
flowerjack 2011-09-19
  • 打赏
  • 举报
回复
算出来了,不难
独自听枫 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 69 楼 dmking1990 的回复:]

用VS2010调试,一目了然。

相加的顺序为: 4+5+7+6+6

其中,第一次循环:

4 为 int a=4 (全局变量) 也即 s=a;

5 为 int static a=5;

7 为 {int a=7; t+=a++;} 也即 t=7

第一次循环结束,此时s=4+5+7=16

第二次循环:

6 为 第一次循环结束后a的值 (主要是 第一次循环……
[/Quote]

全国二级笔试,有VS调试么
a540103140 2011-09-19
  • 打赏
  • 举报
回复
我好渺小~
dmking1990 2011-09-19
  • 打赏
  • 举报
回复
用VS2010调试,一目了然。

相加的顺序为: 4+5+7+6+6

其中,第一次循环:

4 为 int a=4 (全局变量) 也即 s=a;

5 为 int static a=5;

7 为 {int a=7; t+=a++;} 也即 t=7

第一次循环结束,此时s=4+5+7=16

第二次循环:

6 为 第一次循环结束后a的值 (主要是 第一次循环结束后static a=5; return a++; 这两句)

6 为 {int a=6; t+=a++;} 也即 t=6

第二次循环结束,此时s=16+6+6=28

OK!!
独自听枫 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 64 楼 bluelion9527888 的回复:]

这道题还是很意思的,这都能算错,证明你不适合做程序。
[/Quote]

大神不好意思,我等初学小辈见笑了
bluelion9527888 2011-09-19
  • 打赏
  • 举报
回复
这道题还是很意思的,这都能算错,证明你不适合做程序。
jiahehao 2011-09-19
  • 打赏
  • 举报
回复
6+5 + 7+6 + 4 = 28
  • 打赏
  • 举报
回复
晕,楼上辈分降啦
boyceandy 2011-09-19
  • 打赏
  • 举报
回复
真的很坑哥啊!
boveytry 2011-09-19
  • 打赏
  • 举报
回复
基礎知識中的宇宙飛船
大道曙光 2011-09-18
  • 打赏
  • 举报
回复
坑爹的航空母舰 还以为航母出事了呢
江郎才近 2011-09-18
  • 打赏
  • 举报
回复
在实际开发中哪个写这种代码我收拾哪个
homlinlee 2011-09-18
  • 打赏
  • 举报
回复
考得很细呀!
  • 打赏
  • 举报
回复
局部变量 全局变量 静态变量
尼玛呀?我头晕……
liuzhengxi2010 2011-09-18
  • 打赏
  • 举报
回复
s-h-i-t!
desert_tian 2011-09-18
  • 打赏
  • 举报
回复
4+7+5+6+6
TonyXQQ 2011-09-18
  • 打赏
  • 举报
回复
基础不牢啊
加载更多回复(53)

64,639

社区成员

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

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