鱼C论坛

 找回密码
 立即注册
查看: 2343|回复: 13

[已解决]我们C题库里一道类型转换题.

[复制链接]
发表于 2018-1-1 21:19:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 维克多羽果 于 2018-1-1 21:37 编辑

属于合法的C语言长整型常量的是( ).
A.6273
B.0L
C.2E10
D.(long)5876273
-----------------------------------------------------
答案是B,但是不知道D哪里错了
我用以下代码做了下测试
------------------------------------------------------
int main()
{
        printf("%d", sizeof( (double)12345 ) );

        return 0;
}
-------------------------------------------------------
由于long的存储空间和int的存储空间一样
所以测试时将long改成了double
输出结果是:8
说明应该可以这样做类型转换的
所以想问问为什么D不对
最佳答案
2018-1-2 00:24:16
D不是常量,D是表达式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-1 22:06:35 | 显示全部楼层
2.常量:不能被修改。
常量在C语言中是数值字面量。字面量后缀为L或l,表示long,例如1234L、0l。如果不带后缀,默认为int字面量而不是long字面量,即不是长整型常量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-1 22:36:10 From FishC Mobile | 显示全部楼层
ba21 发表于 2018-1-1 22:06
2.常量:不能被修改。
常量在C语言中是数值字面量。字面量后缀为L或l,表示long,例如1234L、0l。如果不带 ...

int字面量和long字面量有什么区别
还有,那D不是长整型常量吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-1 22:47:12 | 显示全部楼层
维克多羽果 发表于 2018-1-1 22:36
int字面量和long字面量有什么区别
还有,那D不是长整型常量吗

常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-1 23:23:20 From FishC Mobile | 显示全部楼层
本帖最后由 维克多羽果 于 2018-1-1 23:32 编辑
ba21 发表于 2018-1-1 22:47
常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常量常 ...


你光是强调 常量 ,我也不理解你想表达什么啊= =
那我说说我的理解,你帮我看看对不对..

常量的类型不能被修改,常量的类型可以由后缀决定,例如0l就是长整型常量,所以D选项依然是基本整型常量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-2 00:24:16 | 显示全部楼层    本楼为最佳答案   
D不是常量,D是表达式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-2 07:12:43 From FishC Mobile | 显示全部楼层
人造人 发表于 2018-1-2 00:24
D不是常量,D是表达式

喔~你说的好像有道理
能具体解释一下D为什么是表达式而不是常量吗
因为我也要给同学解释这题,所以会比较啰嗦
见谅…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-2 07:34:14 From FishC Mobile | 显示全部楼层
人造人 发表于 2018-1-2 00:24
D不是常量,D是表达式

查了下资料,好像有点懂了,你帮我看一下我的理解对不对
常量有3种:数、字符、字符串,而D的书写方式不符合任何一种,所以不是常量
而D因为使用了强制类型转换运算符,所以本质上是个表达式,其值是long型5876273
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-2 11:10:03 | 显示全部楼层
维克多羽果 发表于 2018-1-1 23:23
你光是强调 常量 ,我也不理解你想表达什么啊= =
那我说说我的理解,你帮我看看对不对..

也真是服了你。也服了刚刚做答的。

长整型常量
1,是长整型
2,是常量
3,常量说明不能被修改
4,长整型常量用后缀为L或l表示。如1234L、0l

注:如果不带后缀,默认为int字面量而不是long字面量,即不是长整型常量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-2 13:16:44 | 显示全部楼层
维克多羽果 发表于 2018-1-2 07:34
查了下资料,好像有点懂了,你帮我看一下我的理解对不对
常量有3种:数、字符、字符串,而D的书写方式不 ...

什么是表达式?
http://blog.csdn.net/astrotycoon/article/details/50857326
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-2 14:04:25 From FishC Mobile | 显示全部楼层
人造人 发表于 2018-1-2 13:16
什么是表达式?
http://blog.csdn.net/astrotycoon/article/details/50857326

这个我也查到了
嗯,觉得你说的比较有道理
谢了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 15:49:05 | 显示全部楼层
人造人 发表于 2018-1-2 00:24
D不是常量,D是表达式

人造人大大,现在不绑定手机发不了帖,我输入绑定手机号点发送验证码提示操作频繁怎么办,隔了很多天再试的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 16:07:41 | 显示全部楼层
kai759630 发表于 2018-1-3 15:49
人造人大大,现在不绑定手机发不了帖,我输入绑定手机号点发送验证码提示操作频繁怎么办,隔了很多天再试 ...

这个问题应该找小甲鱼老师
帮你召唤@小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 00:40:13 | 显示全部楼层
kai759630 发表于 2018-1-3 15:49
人造人大大,现在不绑定手机发不了帖,我输入绑定手机号点发送验证码提示操作频繁怎么办,隔了很多天再试 ...

已经处理好啦~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-29 03:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表