| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 971 人关注过本帖
标题:long型变量在函数调用时的问题
只看楼主 加入收藏
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
long型变量在函数调用时的问题
程序如下,求阶乘的一个小程序,编译时老是出现错误“ 14: 与'ff'声明中的类型不匹配”,请各位大侠帮忙看看啊,忙了半天了
#include "stdio.h"
#include "conio.h"
main()
{
 int i;
 long j;
 printf("input number\n");
 scanf("%d",&i);
 j=ff(i);
 printf("%d!=%ld\n",i,j);
}

long ff(int n)
{
 long f;
 if(n<0) printf("input error!\n");
  else if(n==0||n==1) f=1;
  else f=ff(n-1)*n;
  return f;
}
搜索更多相关主题的帖子: long 变量 函数 
2010-06-28 15:12
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:20 
你在前面少了个声明
#include "stdio.h"
#include "conio.h"
long ff(int n);
main()
{
int i;
long j;
printf("input number\n");
scanf("%d",&i);
j=ff(i);
printf("%d!=%ld\n",i,j);
}

long ff(int n)
{
long f;
if(n<0) printf("input error!\n");
  else if(n==0||n==1) f=1;
  else f=ff(n-1)*n;
  return f;
}

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2010-06-28 16:08
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
回复 2楼 waterstar
刚编译通过了,谢谢二楼的了
试验了一下,int变量类型的函数不需要先声明,用习惯了,结果long型的也没预先声明
2010-06-28 17:30
aitajiujiage
Rank: 2
等 级:论坛游民
帖 子:21
专家分:34
注 册:2010-5-10
收藏
得分:0 
#include "stdio.h"
#include "conio.h"
long ff(int n)
{
long f;
if(n<0) printf("input error!\n");
  else if(n==0||n==1) f=1;
  else f=ff(n-1)*n;
  return f;
}
main()
{
int i;
long j;
printf("input number\n");
scanf("%d",&i);
j=ff(i);
printf("%d!=%ld\n",i,j);
}

老兄 ,你试一试这样也可以啊!
规则:除了整形函数不要在main()中申明可以放在main()后面定义外,其它函数要想在main()后定义,就必需先在main()中申明才行,否则main()就掉用不了该函数.
2010-06-28 17:55
fly_kurt
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:21
专家分:50
注 册:2010-6-28
收藏
得分:0 
以下是引用waterstar在2010-6-28 16:08:57的发言:

你在前面少了个声明
#include "stdio.h"
#include "conio.h"
long ff(int n);
main()
{
int i;
long j;
printf("input number\n");
scanf("%d",&i);
j=ff(i);
printf("%d!=%ld\n",i,j);
}

long ff(int n)
{
long f;
if(n<0) printf("input error!\n");
  else if(n==0||n==1) f=1;
  else f=ff(n-1)*n;
  return f;
}
学习啦,以前一直没注意到!

有一天,世界会在你手中舞动!
2010-06-28 23:18
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
今天仔细看了书,函数调用规则如下:
1. 如果被调函数的返回值是整型或字符型时, 可以不对被调函数作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。
2. 非整型、字符型子函数需在主函数中声明,方可使用。
3. 当被调函数的函数定义出现在主调函数之前时, 在主调函数中也可以不对被调函数再作说明而直接调用。
4. 如在所有函数定义之前, 在函数外预先说明了各个函数的类型,则在以后的各主调函数中,可不再对被调函数作说明。
5. 对库函数的调用不需要再作说明, 但必须把该函数的头文件用include命令包含在源文件前部。
2010-06-29 11:36
快速回复:long型变量在函数调用时的问题
数据加载中...
 
   



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

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