| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1406 人关注过本帖
标题:一个C程序的小问题,
只看楼主 加入收藏
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*********************************************
    改后的程序,在WIN-TC下正常运行,但结果是否
正确不知道,因为我没搜过磅转斤的公式。

*********************************************/
#include <stdio.h>
#define KG_PER_POUND  0.4536
void main()
{   
    double  weight,kgn;
    printf("请输入磅数:\n");
    scanf("%lf",&weight);
    kgn=KG_PER_POUND*weight;
    printf("相对应的千数为:%f\n",kgn);

    getch();
}

/*************************************************************

ps:刚才忘说了,你在输入的时候,因为定义类型为double型,所以输入的时候
   格式应该为:%lf.

**************************************************************/


[[it] 本帖最后由 广陵绝唱 于 2008-5-11 23:35 编辑 [/it]]
2008-05-11 23:32
走一圈
Rank: 1
等 级:新手上路
帖 子:156
专家分:0
注 册:2008-5-9
收藏
得分:0 
getch();  为什么最后来个这个.
2008-05-11 23:36
raylove
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-16
收藏
得分:0 
[bo]以下是引用 [un]走一圈[/un] 在 2008-5-11 23:36 的发言:[/bo]

getch();  为什么最后来个这个.




如果你的操作系统是win98以上的,用win-tc的话要在最后加一getch();才可以看到输出的结果

我只是一只小菜鸟,有什么不对的地方请多指教~
2008-05-12 09:41
juisi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-12
收藏
得分:0 
[bo]以下是引用 [un]走一圈[/un] 在 2008-5-11 22:41 的发言:[/bo]

#include
#define KG_PER_POUND  0.4536
void main()
{   
    double weight,kgn;
    printf("请输入磅数:");
    scanf("%lf",&weight);
    kgn=KG_PER_POUND*weight;
    printf("相对应的千数为:%lf",kgn);
} ...


不需要改变宏定义的位置,原来的程序错误有三个:
1)#define KG_PER_POUND  0.4536;<-- 不能加分号,这会使得
  kgn=KG_PER_POUND*weight; 展开为kgn=0.4536;*weight; 由于weight不是指针变量,这样的引用是错误的。
2)scanf("%f",&weight); 因为weight是double,需用%lf;用%f会造成存贮格式出错,详细的请高人指点:P
3)printf("相对应的千数为:&f",kgn); &f是取得变量f的地址,但在printf中该表达式不起作用,printf中用%f指示相应变量的类型。此外,对printf而言%f和%lf是一样的,两者都指定相应的变量类型为double。--参见C-FAQ一书。
2008-05-12 10:30
juisi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-12
收藏
得分:0 
补充:
宏定义可以从任何地方开始,不过对它的使用必须是在定义之后,不能用于定义之前,这也是为什么常量宏定义置于文件头的原因。
#define 宏定义在文件末尾结束,也可以用#undef强制其提前结束。
2008-05-12 10:36
沉醉秋风
Rank: 1
来 自:湖
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-5-11
收藏
得分:0 
谢谢大家的指点,小弟在此不胜感谢,,
2008-05-12 23:38
快速回复:一个C程序的小问题,
数据加载中...
 
   



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

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