| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2097 人关注过本帖
标题:自定义函数与引用问题,求解答案详解
只看楼主 加入收藏
虚心请教1229
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-12
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:10 
自定义函数与引用问题,求解答案详解
设有以下函数:
#include <stdio.h>
int f(int a)
{ int b=0;
   static  c=3;
   b++ ;  c++;
   return (a+b+c);  }
如果在下面的程序中调用该函数,则输出结果是___A_.
void main()
{ int a=2,i;
   for(i=0;i<3;i++)  printf("%d\n",f(a));  }
A) 7         B) 7         C) 7           D) 7
   8           9           10             7
   9           11          13             7
搜索更多相关主题的帖子: include return 
2015-12-15 11:38
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:5 
1,查查static是干什么的,然后心里默算下就知道了。
2,楼主肯定不是计算机专业的,否则一定会到编译器上测试下,非计算机专业的一般不会有c编译器。

能编个毛线衣吗?
2015-12-15 12:01
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
wmf版版的猜测有道理,还有一个可能,楼主正在笔试。

我们都在路上。。。。。
2015-12-15 12:33
虚心请教1229
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-12
收藏
得分:0 
我不是在笔试,而是我们学校往年的C语言考试题,我们要考试了,但是这个题我不知道
详解,求大家帮忙解答
2015-12-15 14:02
wsws23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:105
专家分:107
注 册:2012-3-13
收藏
得分:5 
就是statiic关键字的理解,自己去看看就懂了
2015-12-15 14:18
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
这道题就是考你对局部变量,静态变量,函数的掌握。很简单的。

第一次调用a = 2, b = 1, c=4 所以结果是7
第二次调用a = 2, b = 1, c=5 所以结果是8
第三次调用a = 2, b = 1, c=6 所以结果是9

只有c因为是静态变量在改变。

我们都在路上。。。。。
2015-12-15 14:20
虚心请教1229
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-12
收藏
得分:0 
为什么b的值是1?
2015-12-15 15:09
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:5 
b=0;  b++;   b自加后就是1啊

我们都在路上。。。。。
2015-12-15 15:16
虚心请教1229
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-12
收藏
得分:0 
嘻嘻,受教了,谢谢
2015-12-15 19:51
虚心请教1229
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-12-12
收藏
得分:0 
请读程序:
#include <stdio.h>
f(int b[ ], int n)
{ int i, r=1;
  for(i=0; i<=n; i++) r=r*b[i];
  return r;  }
void main()
{ int x, a[]={ 2,3,4,5,6,7,8,9};
  x=f(a, 3);
  printf("%d\n",x);  }
上面程序的输出结果是___B_____.
A) 720        B) 120        C) 24        D) 6
这个我觉得结果应该是D,请教
2015-12-15 19:52
快速回复:自定义函数与引用问题,求解答案详解
数据加载中...
 
   



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

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