| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1245 人关注过本帖
标题:这个程序为什么说函数是非法定义
只看楼主 加入收藏
Sorry小森
Rank: 1
等 级:新手上路
帖 子:8
专家分:4
注 册:2016-9-12
结帖率:50%
收藏
 问题点数:0 回复次数:2 
这个程序为什么说函数是非法定义
#include "stdafx.h"
long fact(int n);
long rfact(int n);

int main()
{
    int num;
    printf("This program calculates factorials.\n");
    printf("Enter a value in the range 0-12(q to quit):\n");
    while (scanf_s("%d", &num) == 1)
    {
        if (num < 0)
            printf("No negative numbers,please.\n");
        else if (num > 12)
            printf("Keep input under 13.\n");
        else
        {
            printf("loop:%d factorial=%ld\n",num,fact(num));
            printf("recursion:%d factorial=%ld\n",num,rfact(num));
        }
        printf("Enter a value in the range 0-12(q ti quit):\n");
    }
        return 0;
}
    long fact(int n)
    {
        long ans;
        for (ans = 1; n > 1; n--)
            ans *= n;
        return ans;
    }
    long rfact(int n)
    {
        long ans;
        if (n > 0)
            ans = n*rfact(n - 1);
        else
            ans = 1;
        return ans;
    }





[此贴子已经被作者于2016-10-29 20:19编辑过]

搜索更多相关主题的帖子: include numbers please Enter 
2016-10-29 20:05
百里
Rank: 2
等 级:论坛游民
帖 子:34
专家分:66
注 册:2016-10-1
收藏
得分:0 
#include "stdafx.h" //  有这个头文件的吗?我没见过。找到的话告诉我一声。
long fact(int n);
long rfact(int n);

int main()
{
    int num;
    printf("This program calculates factorials.\n");
    printf("Enter a value in the range 0-12(q to quit):\n");
    while (scanf_s("%d", &num) == 1) //scanf有scanf_s 在c语言中这样子的吗?能不能告诉我这个啥。
    {
        if (num < 0)
            printf("No negative numbers,please.\n");
        else if (num > 12)
            printf("Keep input under 13.\n");
        else
        {
            printf("loop:%d factorial=%ld\n",num,fact(num));
            printf("recursion:%d factorial=%ld\n",num,rfact(num));
        }
        printf("Enter a value in the range 0-12(q ti quit):\n");
    }
        return 0;// 你确定这里用了英文输入?
}
    long fact(int n)
    {
        long ans;
        for (ans = 1; n > 1; n--)
            ans *= n;
        return ans;
    }
    long rfact(int n)
    {
        long ans;
        if (n > 0)
            ans = n*rfact(n - 1);
        else
            ans = 1;
        return ans;
   
2016-10-29 23:16
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
@题主:
图片附件: 游客没有浏览图片的权限,请 登录注册
,至于题主说的函数非法定义,我没发现,如果可以截个图我看看哪里出错了。最好带上完整的编译信息

@百里:那个头文件是有的,不过好像是MFC的还是VC的才有的吧。



φ(゜▽゜*)♪
2016-10-30 00:00
快速回复:这个程序为什么说函数是非法定义
数据加载中...
 
   



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

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