a为整型变量,a=-2L printf(%d,a)它是合法的程序么,若合法,结果是怎样的?理由是什么?

[复制链接]
查看11 | 回复2 | 2011-3-13 21:51:19 | 显示全部楼层 |阅读模式
另一种是int为2字节,long为4字节,这种情况,将一个长整型赋值个短整型,结果将发生截断,而计算机是以补码来储存数据的,截断后的【-2】补为:1111 1111 1111 1110,取反再加一,依旧是-2。字数限制了,晕~...
回复

使用道具 举报

千问 | 2011-3-13 21:51:19 | 显示全部楼层
不合法!因为a是整形变量,a = -2L解释不通啊,还有printf()函数的格式也是不正确的,应该是printf(“%d”,a);...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行