C语言的选择题

[复制链接]
查看11 | 回复2 | 2011-1-3 01:09:54 | 显示全部楼层 |阅读模式
247.在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是
A) a=20000+20000;
B) a=4000*10
C) a=30000+10000;
D) a=4000L*10L;
干嘛要选d呢
一个L代表十倍吗,那我输出a时是有L的东西吗?

回复

使用道具 举报

千问 | 2011-1-3 01:09:54 | 显示全部楼层
16位机上最大的正整数为32767,前面的都溢出了 补充:后缀L代表长整数,一般存储字长可能超过int型
回复

使用道具 举报

千问 | 2011-1-3 01:09:54 | 显示全部楼层
除D之外的选项的右边的表达式都超过了16位带符号整数的范围 (32767)。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行