搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 我觉得答案有误,想请教大家
标题:
我觉得答案有误,想请教大家
只看楼主
虚心请教1229
等 级:
新手上路
帖 子:14
专家分:0
注 册:2015-12-12
结帖率:
66.67%
楼主
问题点数:0 回复次数:4
我觉得答案有误,想请教大家
请读程序:
#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
搜索更多相关主题的帖子:
include
2015-12-15 19:54
z450558237
等 级:
论坛游民
帖 子:48
专家分:11
注 册:2014-10-21
第
2
楼
得分:0
答案是对的啊。根据主调函数给的数据for循环是for(i=0;i<=3;i++) r=r*a[i]
总共能循环四次:1.i=0 r=1*2=2;
2.i=1 r=2*3=6;
3.i=2 r=6*4=24;
4.i=3 r=24*5=120;
数组的1号元素其实是a[0]
2015-12-15 20:10
虚心请教1229
等 级:
新手上路
帖 子:14
专家分:0
注 册:2015-12-12
第
3
楼
得分:0
f(int b[ ], int n) 这个是定义的一个函数吗?如果是的话,它没有说r是全局变量,为什么r的值可以用到下面的循环中?
2015-12-16 10:04
走在街上的猪
等 级:
论坛游民
帖 子:11
专家分:21
注 册:2015-10-11
第
4
楼
得分:0
回复 3楼 虚心请教1229
有误还是没错误楼主可以直接运行试一试不就行了。
运行过后结果120没有错误,2L说的很正确,循环四次
至于你的问题,你定义的f()是一个函数,此函数有一个返回值,返回值就为r,此函数中的r也的确是局部变量
不过你后来又调用了这个函数,把这个函数的返回值赋给了x,所以X就有了值,这个就等于把一个值赋给x
可能说的不怎么太清楚,楼主在理解理解把。
2015-12-16 10:20
虚心请教1229
等 级:
新手上路
帖 子:14
专家分:0
注 册:2015-12-12
第
5
楼
得分:0
哦哦,明白了,谢谢!
2015-12-17 08:51
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-460259-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.784102 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved