鱼C论坛

 找回密码
 立即注册
查看: 4839|回复: 5

C函数多次调用问题

[复制链接]
发表于 2012-11-10 17:20:04 | 显示全部楼层 |阅读模式
10鱼币
  1. #include<stdio.h>
  2. #define MAX 10
  3. void sub1(),sub2(),sub3(int *a);
  4. int a[MAX],i;
  5. int main()
  6. {printf("\n");
  7. sub1();
  8. sub3(a);
  9. sub2();
  10. sub3(a);
  11. return 0;
  12. }
  13. void sub1()
  14. {
  15. for(i=0;i<MAX;i++)
  16. a[i]=i;
  17. }
  18. void sub2()
  19. {
  20. int a[MAX],i,max;
  21. max=5;
  22. for(i=0;i<MAX;i++)
  23. a[i]=i;
  24. }
  25. void sub3(int a[])
  26. {
  27. int i;
  28. for(i=0;i<MAX;i++)
  29. printf("%d",a[i]);
  30. printf("\n");
  31. }
复制代码
已知输出有两行,可推断调用函数两次,sub1是调用了。为什么其他两个没调用? 求解释!!!

最佳答案

查看完整内容

看了一下你的程序,SUB1 和 SUB2,都没有输出函数,当然在界面上没有显示,在界面上显示的是SUB3的调用。整个程序没有问题。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-11-10 17:20:05 | 显示全部楼层
看了一下你的程序,SUB1 和 SUB2,都没有输出函数,当然在界面上没有显示,在界面上显示的是SUB3的调用。整个程序没有问题。

点评

+1~~~~~~~~~  发表于 2012-11-10 22:49
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-11-10 23:07:12 | 显示全部楼层

能否解释下1和2为什么不调用?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-11 01:47:38 | 显示全部楼层
我没调试,如果程序正确的话,你在1和2里面加个输出语句就可以看到了,其实已经调用了的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-11 13:33:10 | 显示全部楼层
调试过了。程序没问题,像楼上说的,没输出函数,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-11-11 18:33:29 | 显示全部楼层
[是这样的. 先去调用sub1()函数, 调用后给数组a[]赋值分别为0~9. 接着去调用sub3(a), 在函数sub3中数组数组a中的每个元素. 然后接着去调用sub2(), 在sub2()中为在sub2中定义的数组a赋值. 但是当离开后,局部数组a就会被销毁的. 接着去调用函数sub3(). 还是输出数组a中原来的值.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-16 05:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表