| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2160 人关注过本帖
标题:我已经在主函数中定义了一个数,为什么在其他函数中用到这个数时编译器显示 ...
只看楼主 加入收藏
countrybridg
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-5-9
结帖率:0
收藏
已结贴  问题点数:2 回复次数:11 
我已经在主函数中定义了一个数,为什么在其他函数中用到这个数时编译器显示这个数没有定义?
如题,哪位高手能帮帮忙,谢谢了!
搜索更多相关主题的帖子: 函数 定义 编译 
2010-05-09 09:24
wangjianhui
Rank: 8Rank: 8
来 自:^帅帅城^
等 级:蝙蝠侠
威 望:2
帖 子:353
专家分:745
注 册:2010-3-19
收藏
得分:0 
你怎么不把你的数据发上来呢 原因可能很多的,也有可能是大括号的问题

加油
2010-05-09 09:30
countrybridg
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-5-9
收藏
得分:0 
#include "stdio.h"
#include "math.h"
main(void)
{
    float genone(int a,int b);
    float gentwo(int a,int b);
    int a,b,c,x1,x2;
    float d;
    printf("input 3 numbers:");
    scanf("%d,%d,%d,",&a,&b,&c);
    d=b*b-4*a*c;
    if(d>0)
    {
     x1=genone(a,b);
     x2=gentwo(a,b);
    }
    else if(d==0)
    x1=x2=gen1(a,b,c);
    else
    printf("There is no answer.");
}
float genone(int a,int b)
{   
    float n=(-b+sqrt(d))/(2*a);
    return n;
}
float gentwo(int a,int b)
{   
    float m=(-b-sqrt(d))/(2*a);
    return m;
}
就是这个
2010-05-09 09:31
白色轨迹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:42
注 册:2010-3-20
收藏
得分:0 
#include "stdio.h"
#include "math.h"
void main(void)
{
    float genone(float a,float b,float c);
    float gentwo(float a,float b,float c);
    float a,b,c,x1,x2;
    float d;
    printf("input 3 numbers:");
    scanf("%f,%f,%f",&a,&b,&c);
    d=-4*a*c+b*b;
    if(d>1e-6)
    {
     x1=genone(a,b,d);
     x2=gentwo(a,b,d);
     printf("x1=%f,x2=%f",x1,x2);
    }
    else if(d==0)
    {x1=x2=genone(a,b,c);
    printf("x1=x2=%f",x1);}
    else
    printf("There is no answer.");

}
float genone(float a,float b,float c)
{   
    float n=-b+sqrt(c);
    n=n/(2*a);
    return n;
}
float gentwo(float a,float b,float c)
{   
    float m=(-b-sqrt(c))/(2*a);
    return m;
}
我又一次纠结了。。虽然可以运行,但是结果不对。δ的的结果是正确的,但是函数的结果不对。
2010-05-09 10:15
mjw1124
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:48
专家分:48
注 册:2010-4-17
收藏
得分:0 
x1=genone(a,b,d)为什么是d了?x2也是
2010-05-09 11:07
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 3楼 countrybridg
楼主定义的变量d是一个局部变量,他的作用域是主函数,出了主函数它当然就变成没有定义的了。
如果你想在其他函数里也用这个变量,那就要把它定义成全局变量。就是定义在函数体外,那么他的作用域就是整个文件。

南国利剑
2010-05-09 11:15
炫舞小子
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-09 11:19
xu362726904
Rank: 6Rank: 6
等 级:侠之大者
帖 子:160
专家分:471
注 册:2009-6-18
收藏
得分:0 
变量的作用域问题
2010-05-09 13:52
xiaoyi2010
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-09 15:15
tpengti
Rank: 2
等 级:论坛游民
帖 子:75
专家分:18
注 册:2010-5-9
收藏
得分:0 
回复 楼主 countrybridg
在主函数定义的变量它的作用域只限于main()函数,在其它函数中这个变量的值就已经被释放了(无作用)

没有开发不了的软件,只有开发不了的大脑
2010-05-09 15:46
快速回复:我已经在主函数中定义了一个数,为什么在其他函数中用到这个数时编译器 ...
数据加载中...
 
   



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

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