| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1730 人关注过本帖
标题:vc6.0下函数需要声明吗?!
取消只看楼主 加入收藏
xdbpf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-7
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
vc6.0下函数需要声明吗?!
vc环境下需要函数声明吗?!

貌似有的需要有的不需要哎,下面的第一个就需要声明所调用函数,第二个就不需要,为什么?!

老感觉vc和标准c差别好大?!具体有哪些呢?!

菜鸟先在此谢过了

#include<stdio.h>
#include<math.h>
void main()
{
    float a,b,c,disc;
    void result1(float i,float j,float d);
    void result2(float i,float j);
    void result3(float i,float j,float d);
    printf("请输入方程系数a,b,c:");
    scanf("%f,%f,%f",&a,&b,&c);
    while(fabs(a)<1e-6)
    {
        printf("输入有误,请再次输入:");
        scanf("%f,%f,%f",&a,&b,&c);
    }
    printf("\n方程%.2f*x*x+%.2f*x+%.2f=0相应的根为:\n",a,b,c);
    disc=b*b-4*a*c;
    if(disc>1e-6)
        result1(a,b,disc);
    else if(fabs(disc)<1e-6)
        result2(a,b);
    else
        result3(a,b,disc);
}

void result1(float i,float j,float d)
{
    float m,n;
    m=-j/(2*i);
    n=sqrt(d)/(2*i);
    printf("x1=%.2f,x2=%.2f\n",m+n,m-n);
}

void result2(float i,float j)
{
    printf("x1=x2=%.2f\n",-j/(2*i));
}

void result3(float i,float j,float d)
{
    float m,n;
    m=-j/(2*i);
    n=sqrt(-d)/(2*i);
    printf("x1=%.2f+i%.2f,x2=%.2f+i%.2f\n",m,n,m,n);
}


include<stdio.h>
void main()
{
    int m,n,max,min;
    printf("请输入两个数m,n:");
    scanf("%d,%d",&m,&n);
    max=max_divisor(m,n);
    min=min_multiple(m,n);
    printf("\n它们的最大公约数为:%d\n最小公倍数为:%d\n",max,min);
}
//求最大公约数的函数
int max_divisor(int a,int b)
{
    int temp,r;
    if(a<b)                    //保证a>=b
    {
        temp=a;
        a=b;
        b=temp;
    }
    while(b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return(a);
}
//求最小公倍数的函数
int min_multiple(int a,int b)
{
    int c;
    c=max_divisor(a,b);
    return(a*b/c);
}
搜索更多相关主题的帖子: 函数 声明 
2009-11-10 20:47
xdbpf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-7
收藏
得分:0 
以下是引用lijm1989在2009-11-10 21:13:06的发言:

不好意思··我运行你的第二个会出错,一般主函数在前面的话都是要函数声明的,但如果被调用的函数的主体在调用函数的上面的话则不需要加以声明,如LZ的第一个代码:不想加声明的话就先写子函数吧···
#include<st ...
为什么我的就不会出错呢?!

额···我也了解c的介个规定,就是想知道vc对函数声明的规定!
2009-11-11 13:27
xdbpf
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-11-7
收藏
得分:0 
以下是引用lijm1989在2009-11-10 21:13:06的发言:

不好意思··我运行你的第二个会出错,一般主函数在前面的话都是要函数声明的,但如果被调用的函数的主体在调用函数的上面的话则不需要加以声明,如LZ的第一个代码:不想加声明的话就先写子函数吧···
#include<st ...
第二个运行的时候只会出现警告:G:\C文件\li8.1.c(7) : warning C4013: 'max_divisor' undefined; assuming extern returning int

而第一个如果不加函数声明直接就是error~

2009-11-11 13:29
快速回复:vc6.0下函数需要声明吗?!
数据加载中...
 
   



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

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