免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1099 | 回复: 4
打印 上一主题 下一主题

为什么编译不通过呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-19 09:34 |只看该作者 |倒序浏览

  1. /* Fibonacci */
  2. #include <stdlib.h>
  3. #include <stdio.h>

  4. main ()
  5. { long int x; short int i;
  6. for (i=0;i<=100;i++)
  7.     {
  8.         x= Fibonacci(i);
  9. printf ("%d\n",x);
  10. getch();
  11.     }
  12. }

  13. long int Fibonacci (short int n)
  14. {
  15. long int r2,r1,r0;
  16. if (n==0) return (0);
  17. else
  18.     if (n==1) return (1);
  19.     else
  20.     {
  21.     r0=Fibonacci(n-2);
  22.     r1=Fibonacci(n-1);
  23.     r2=r0+r1;
  24.     return (r2);
  25.     }
  26. }

  27. /* end of Fibonacci */
复制代码


编译后提示“与'Fibonacci'声明中的类型不匹配”,为什么呢?
gcc 提示:
z.c:16: error: conflicting types for 'Fibonacci'
z.c:9: error: previous implicit declaration of 'Fibonacci' was here

[ 本帖最后由 chenyan1206 于 2007-1-19 09:39 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-01-19 09:51 |只看该作者
在main前加上一行:
long int Fibonacci (short int n);

论坛徽章:
0
3 [报告]
发表于 2007-01-19 09:55 |只看该作者
要养成函数先声明的好习惯

论坛徽章:
0
4 [报告]
发表于 2007-01-19 10:20 |只看该作者
原帖由 chenyan1206 于 2007-1-19 09:34 发表
[code]
/* Fibonacci */
#include <stdlib.h>
#include <stdio.h>

main ()
{ long int x; short int i;
for (i=0;i<=100;i++)
    {
        x= Fibonacci(i);
printf ("%d\n&q ...


getch()函数不是标准C函数,是Win提供的

论坛徽章:
0
5 [报告]
发表于 2007-01-19 10:48 |只看该作者
多谢 多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP