| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 292 人关注过本帖
标题:函数参数问题
只看楼主 加入收藏
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
结帖率:86.96%
收藏
已结贴  问题点数:10 回复次数:4 
函数参数问题
这是谭浩强的(c程序设计)第八章习题的第二题,因原版代码太长,我缩短了一点.
但原版在定义和调用的这三个函数中都有参数,
但我一下这段代码中在定义和调用dayu,deng,budeng这三个函数时,为什么没有参数都能够正常运行?

#include<stdio.h>
#include<math.h>
double a,b,c,d,x1,x2,p;
void dayu ()
{
    x1=(-b+sqrt(d))/(2*a);
    x2=(-b-sqrt(d))/(2*a);
    printf("x1=%f\t\tx2=%f\n",x1,x2);
}
                 
void deng()
{
    x1=x2=(-b)/(2*a);
    printf("x1=%f\t\tx2=%f\n",x1,x2);
}

void budeng()
{
    printf("无实根");
}

void main()
{
    scanf("%lf,%lf,%lf",&a,&b,&c);
    d=b*b-4*a*c;
    if (d>0)
    dayu ();
    else if (d==0)
    deng ();
    else
     budeng();
}
搜索更多相关主题的帖子: c程序设计 include double 
2011-08-03 20:51
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
因为你的 a, b, c ... 都定义为全局变量了
2011-08-03 20:52
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
double a,b,c,d,x1,x2,p;
这是全局变量?
这句话  程序应该是无视的吧!

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-03 20:59
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
回复 3楼 风生钧起
你再看看书
2011-08-03 21:12
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
回复 4楼 voidx
全局变量放在内存的全程数据区,全局数据区分为两部分全局数据区和静态数据区,静态数据区专门存放static变量。static的全局变量只在该文件范围内可见,不能用extern声明为外部变量。
编译器会自动初始化全局变量。
学习  学习!
 

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-03 21:20
快速回复:函数参数问题
数据加载中...
 
   



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

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