标题:有一个问题不明白
只看楼主
STARTREK365
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-8-18
结帖率:50%
已结贴  问题点数:16 回复次数:4 
有一个问题不明白
某C语言教材上关于强制类型转换有这么一个叙述:设a为整型量,如果要把a转换为DOUBLE型,则有如下代码:
  (double)a
我依照教材所写自己写了一段代码试验,可是确出现了错误。请问大家这是怎么一回事?
搜索更多相关主题的帖子: 教材 C语言 
2012-10-04 09:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
看书不认真!

授人以渔,不授人以鱼。
2012-10-04 10:00
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
得分:4 
呵呵,这个#include<math.h>和#define pi 3.1415926在这个程序有啥作用,我这就不懂了。。

实现自己既定的目标,必须能耐得住寂寞单干。
2012-10-04 10:19
星闪夜空
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2012-9-15
得分:4 
回复 楼主 STARTREK365
  首先,(double)a这条语句并不能改变a,也就是说这条语句执行后,a还是int类型,且值为1.  
  其次,再来说说你出现错误的原因,既然a为int类型,那么你用printf("%lf\n",a)打印出a的值当然会出错啊,如果你使用
printf("%d\n",a)或printf("%lf\n",a)就不会有问题了。
2012-10-04 18:09
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
得分:4 
强制转换只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
2012-10-04 20:59



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




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

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