C语言程序要求有分析不要只有答案.谢谢大家

以下程序的运行结果是#defineMAX10inta[MAX],i;main(){printf(“\n”);sub1();sub3(a);sub2();sub3(a);}... 以下程序的运行结果是
#define MAX 10
int a[MAX],i;
main()
{printf(“\n”);sub1();sub3(a);sub2();sub3(a);
}
sub2()
{ int a[MAX], i ,max;
max=5;
for(i=0;i<max;i++) a[i]=i;
}
sub1()
{for(i=0;i<MAX;i++) a[i]=i+i;
}
sub3(int a[ ])
{int i;
for(i=0;i<MAX;i++)printf(“%d”,a[i]);
printf(“\n”);
}
有两个答案不知道是哪个,希望大家能给个分析个人分析:sub3(a)是实参就是把a 给形参sub3(int a[ ])
就是int a[ ]=a 可这又怎么样呢 有什么作用?后面跟这个又没关系 。。又没return语句,这题目怎么这样,百思不得其解
个人糊里糊涂的分析得到A 可答案是B
求大家给个完整权威的分析 谢谢

不要只给出一个答案哦
A 0 2 4 6 8 10 12 14 16 18
0 1 2 3 4

B 0 2 4 6 8 10 12 14 16 18
0 2 4 6 8 10 12 14 16 18
展开
 我来答
希声和寡
2009-01-21 · TA获得超过2.6万个赞
知道大有可为答主
回答量:6437
采纳率:0%
帮助的人:3519万
展开全部
sub1()执行:
for(i=0;i<MAX;i++) a[i]=i+i;
所以数组a的各成员值为:
a[0]:0+0=0
a[1]:1+1=2
a[2]:2+2=4
...
a[9]:9+9=18

sub3(a)
将全局数组首地址a传递给int a[],其实这里的a就是一个指针,指向了数组a的首地址,
随后在sub3中通过指针进行数字遍历,输出各成员值:
0 2 4 6 8 10 12 14 16 18

sub2();
这里请注意,这个函数里面操作的是其内部的临时变量a[MAX]的值,对于全局量a[MAX]没有任何影响

sub3(a)
将全局数组首地址a传递给int a[],其实这里的a就是一个指针,指向了数组a的首地址,
随后在sub3中通过指针进行数字遍历,输出各成员值:
0 2 4 6 8 10 12 14 16 18

所以结果为B
lc214998686
2009-01-21 · TA获得超过337个赞
知道答主
回答量:30
采纳率:0%
帮助的人:18.7万
展开全部
我觉得两个答案都不是啊~我觉得应该是~
0 2 4 6 8 10 12 14 16 18
0 1 2 3 4 10 12 14 16 18
~我来给你说一下我的想法~~首先~我说下~~这个程序有点小问题~~main函数~前边应该有sub1 sub2 sub3~3个函数的声明~否则~主函数里是无法调用的~~要么就把main函数~放到最后~~~~这是~这个程序的一点小问题~~~~然后我带着你把main函数走一边~~前边的max 和数列a的定义~~你该明白~我不说了~~main函数“/n”换行~~运行sub1~运行完sub1~~数列a已经给全部赋值了~~现在a[MAX]={0,2,4,6,8,10,12,14,16,18}~然后该运行sub3(a)~是输出数列a~就是~0 2 4 6 8 10 12 14 16 18~~然后运行sub2~sub2是对数列a前5个元素进行赋值~分别为~0 1 2 3 4~其他元素不变~~然后再运行sub3(a)输出修改后的数列a~~
所以我认为答案应该是
0 2 4 6 8 10 12 14 16 18
0 1 2 3 4 10 12 14 16 18
~~~仅供参考~~因为我不是高手
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
craiggiarc
2009-01-21 · TA获得超过1190个赞
知道小有建树答主
回答量:324
采纳率:100%
帮助的人:242万
展开全部
sub2中的a[MAX]是在程序中新定义的一个数组,与最开始那个(为全局变量性的数组)不一样。当程序调用完之后,而又没有返回值的情况下,这个sub2中的a[MAX]就不会影响另一个全局变量性的数组。
所以全局变量数组a[MAX]的值其实是没有改变的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式