标题:求大神帮忙解决自定义函数的问题
只看楼主
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
结帖率:100%
已结贴  问题点数:20 回复次数:10 
求大神帮忙解决自定义函数的问题
复件 c.rar (596 Bytes)
先说一下,不是我不打源代码上来,只是打源代码上来后提交时跳转不了……所以只能发文件了
问题:我想用自定义的powers()实现pow()函数,但是老是编译不成功,请大神赐教……
搜索更多相关主题的帖子: 自定义 函数 源代码 pow 编译 
2019-06-25 18:05
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
得分:0 
#include<stdio.h>
int main()
{
    double x=2.0;
    int y=3;
    powers(double ,int );//函数声明
    double result;
    result=power(x,y);//调用
    printf("%lf",result);
    return 0;
}
double powers(double a,int b)//定义
{
    double sum=1.0;
    int c=0;
    for(c;c<=b;c++)
    {
        sum=sum*a;
    }
    return sum;
}
算了,我在这里发源文件吧,便于观看

[此贴子已经被作者于2019-6-25 18:16编辑过]

2019-06-25 18:12
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:0 
int main()
{
    double x=2.0;
    int y=3;
    double powers(double ,int );//函数声明
    double result;
    result=powers(x,y);//调用
    printf("lf",result);
    return 0;
}

就这几行代码,自己编译一下能通过吗?还提交。
2019-06-25 18:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
你遇到什么问题了?要贴出编译错误

#include <stdio.h>

int main( void )
{
    double powers(double,unsigned);
    double result = powers(2.0,3);
    printf("%lf",result);
    return 0;
}

double powers(double a,unsigned b)
{
    double sum=1.0;
    for(unsigned c=0; c!=b; ++c)
        sum *= a;
    return sum;
}
2019-06-25 18:27
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
得分:0 
我在vc6上编译显示出错
2019-06-25 21:03
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 5楼 aCprogrammer
满清都已经灭亡了,你还在跪拜VC++6.0?
即便你对VC++矢志不移,那下个VC++2019也好呀。

不过,我劝你还是用 MinGW 或 Clang。
之前,微软一直强调VC++支持C语言,它只是顺带了一个C++的C语言模式。
中途,微软曾说会在 VC++2012 其开始逐步支持C语言。
目前,这个部门早就裁撤了,暂时是别想了。

2019-06-26 08:44
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
得分:0 
回复 6楼 rjsp
vc2019有三十二位版的吗?我不懂这个
2019-06-26 13:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
回复 7楼 aCprogrammer
不知道你这个“三十二位”指的是什么?
VC++ 这个IDE全系列都没有64bits版本,但VC++2010及之前支持XP,之后的不支持XP。
VC++2019 开始,生产的目标代码已经不支持32bits了。

如果你只是想让 4 楼的代码能在 VC++6.0 上编译通过,那么只要改
double powers(double a,unsigned b)
{
    double sum=1.0;
    for(unsigned c=0; c!=b; ++c)
        sum *= a;
    return sum;
}

double powers(double a,unsigned b)
{
    double sum=1.0;
    unsigned c;
    for(c=0; c!=b; ++c)
        sum *= a;
    return sum;
}
就行了。
2019-06-26 13:47
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
得分:0 
好的谢谢了
2019-06-26 14:08
znhygsd
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-6-12
得分:0 
VC++和其它编译器有什么不同?

double powers(double a,int b);
#include<stdio.h>
int main()
{
    double x=2.0;
  double result;
    int y=3;
  
    result=powers(x,y);//调用
    printf("%lf",result);
    return 0;
}
double powers(double a,int b)//定义
{
    double sum=1.0;
    int c=0;
    for(c;c<=b;c++)
    {
        sum=sum*a;
    }
    return sum;
}
2019-06-26 16:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495513-1-1.html




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

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